Suchergebnisse

Suchergebnisse 1-4 von insgesamt 4.

  • Benutzer-Avatarbild

    Strings in Delphi müssen mit Hilfe des ShareMem-Speichermanagers umhergetauscht werden. Der riesige Kommentar steht nicht nur zum Spaß und zum Herumnerven da Das Problem ist, das C# mit dem Sharemem-Speichermanager überhaupt nix anzufangen weiß. Somit sind Delphi-Strings als Rückgabewert nach .NET (und in nahezu jede andere Sprache außer Delphi) ausgeschlossen. Benutze BSTR, OLESTR oder, noch besser, PChar. Achte darauf, das du auch einen Unicode-String in Form von PWideChars zurückgibst, das er…

  • Benutzer-Avatarbild

    Hatte ich nicht erwähnt, das du einen Unicode-String zurückgeben sollst ? Was hat dann der PAnsiChar-Cast da zu suchen ?

  • Benutzer-Avatarbild

    Zunächst einmal kompiliert Delphi 7 ausschließlich 32Bit. 64Bit gabs erst ab D2009, also 8 Versionen später (nur als Hinweis auf das Alter von D7), IIRC. Zweitens: 64Bit-Programme erfordern zwingend 64-Bit-DLLs. Es ist nicht möglich, denen eine 32Bit-DLL unterzujubeln. Ein .Net-Programm, kompiliert als AnyCPU, läuft auf einem 32-Bit-Windows als 32-Bit-Anwendung; auf einem 64-Bit-Windows als 64Bit-Anwendung. Ausnahme: Es ist unter VS2012+ mit "32Bit-Preferred" kompiliert, dann ist es immer 32Bit

  • Benutzer-Avatarbild

    Im Falle AnyCPU wäre es als erstes angebracht herauszufinden, ob ich nun als 64er oder 32er laufe (keine Ahnung, ob das machbar ist). Erst dann ist sicher, welche DLL zu laden ist. Wie schon gesagt, mit "32Bit preferred"ist es nicht mehr vom OS abhänging, ob das AnyCPU-Programm 32 oder 64 Bit breit ist.