AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

C# DLL in Delphi nutzen

Ein Thema von sonny2007 · begonnen am 27. Mär 2022 · letzter Beitrag vom 29. Mär 2022
Antwort Antwort
venice2
(Gast)

n/a Beiträge
 
#1

AW: C# DLL in Delphi nutzen

  Alt 28. Mär 2022, 11:40
Zitat:
Das mit 32bit und 64bit ist immer
etwas schwierig einzustellen in VS finde ich.
Ist doch gut gelöst Debug\Release "COMBO" und dort Konfigurations-Manager starten.

bzgl. x86 und x64 ist so ein Problem.
Was bringt es wenn die Bibliothek RGiesecke.DllExport mit AnyCPU kompiliert wurde das beißt sich doch irgendwie.

Delphi DLL -> C# über DllImport ist kein Problem.
C# DLL über DllExport hingegen schon. (Leider)

bsp.
Code:
namespace CalcTest
{
    using System.Runtime.InteropServices;
    using RGiesecke.DllExport;

    public sealed class CalcTest
    {
        [DllExport(CallingConvention = CallingConvention.StdCall)]
        public static int Sum(int a, int b)
        {
            return a + b;
        }
    }

}
Delphi.
function Sum(a, b: integer): integer; stdcall; external 'Calctest.Net.dll';

Delphi Anwendung stürzt sofort ab.. läßt sich nicht starten!

Fehler!
Der Fehler 0xc000007b tritt typischerweise auf, wenn die 32-Bit-Version von Windows mit einem 64-Bit-Betriebssystem oder -Anwendungen verwechselt wurde.
Projekt ist aber x86 C# DLL ebenso jedoch RGiesecke.DllExport AnyCPU ..

EDIT:
RGiesecke.DllExport neu kompiliert 32Bit\x86 alle Frameworks 4.8 trotzdem selber Fehler.

Geändert von venice2 (29. Mär 2022 um 10:32 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sh17
sh17

Registriert seit: 26. Okt 2005
Ort: Radebeul
1.681 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: C# DLL in Delphi nutzen

  Alt 28. Mär 2022, 12:01
Also mit der Lib von Robert Giesecke war irgend wann Ende im Gelände. Bin dann zu DLLExport gewechselt, was grob auf RGiesecke basiert, aber eine Neuentwicklung ist.
Sven Harazim
--
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#3

AW: C# DLL in Delphi nutzen

  Alt 28. Mär 2022, 12:12
Also mit der Lib von Robert Giesecke war irgend wann Ende im Gelände. Bin dann zu DLLExport gewechselt, was grob auf RGiesecke basiert, aber eine Neuentwicklung ist.
Ahh.. kann natürlich sein.

Geändert von venice2 (28. Mär 2022 um 21:00 Uhr)
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#4

AW: C# DLL in Delphi nutzen

  Alt 28. Mär 2022, 13:20
Damit funktioniert es nun.
Offline Package von DLLExport im Archiv.

genug damit gespielt.

Wenn er nun das als Beispiel nimmt und sein Projekt entsprechend anpaßt wird es wohl funktionieren.
DLLExport ist nötig.. Die neue (siehe Package) ohne geht es nicht!
Danke an @sh17 für die Info.

Werde die Anhänge später wieder löschen.

Geändert von venice2 (29. Mär 2022 um 10:32 Uhr)
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#5

AW: C# DLL in Delphi nutzen

  Alt 28. Mär 2022, 21:59
DLLExport ist nötig.. Die neue (siehe Package) ohne geht es nicht!
Was ich gestern die ganze Zeit gesagt habe. Aber du denkst ja immer direkt das jeder mit dir streiten will ...
  Mit Zitat antworten Zitat
venice2
(Gast)

n/a Beiträge
 
#6

AW: C# DLL in Delphi nutzen

  Alt 29. Mär 2022, 10:31
DLLExport ist nötig.. Die neue (siehe Package) ohne geht es nicht!
Was ich gestern die ganze Zeit gesagt habe.
Kein LoadLibrary..
Zitat:
Aber du denkst ja immer direkt das jeder mit dir streiten will ...
Meine Jahre lange Erfahrung hier. Wäre oder ist nicht das erste mal.

Habe nur gute Erfahrung unter C# -> Delphi gemacht und umgekehrt weil alles soweit selbst geschrieben siehe meinen C# Wrapper für .NET für Bass_vis(Delphi DLL).
Du hattest halt schlechte Erfahrung und deshalb will ich nicht mit dir streiten.. Schrieb ich schon.

Problem gelöst Anhang gelöscht.
  Mit Zitat antworten Zitat
MTranel

Registriert seit: 29. Mär 2022
6 Beiträge
 
#7

AW: C# DLL in Delphi nutzen

  Alt 29. Mär 2022, 11:25
Ich mach hier mal ganz kurz Werbung für mein NuGet Package was genau für diesen UseCase gebaut wurde.
Es arbeitet im Grunde genau wie UnmanagedExports nur das die Internals auf DNLib anstatt auf ildasm/ilasm basieren. Dadurch spart ihr euch das ab und zu die DLL baut aber keine Exports drin landen, weil euch irgendwelche Windows 10 SDKs fehlen. Und DLLExport ist zwar nett, aber mir passt das extra GUI zum exportieren im Nachhinein gar nicht.

https://github.com/MeikTranel/NXPorts

In den Samples ist das alles ganz gut dargestellt. Die Schnittstelle der Attribute ist quasi deckungsgleich mit der von RGiesecke und der Rest passiert automatisch.
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz