Einzelnen Beitrag anzeigen

venice2
(Gast)

n/a Beiträge
 
#16

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