Announcement

Collapse
No announcement yet.

PChar oder WideString in DLL Function Parameter

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • PChar oder WideString in DLL Function Parameter

    Hallo alle zusammen,

    kann mir mal jemand auf die Sprünge helfen?

    Bei der Übergabe von String-Parametern in (aus) Funktionen bzw. Prozeduren in DLLs sollte der Typ PChar verwendet werden. Soweit ok.
    (Delphi und Windows)

    Was spricht gegen (oder für) die Verwendung von WideStrings?

    Danke

    Knut

  • #2
    strings und WideStrings unterliegen der Delphi Speicherverwaltung. Die DLL wird Delphi-spezifisch. Die DLL und das Hauptprogramm haben separate Speichermanager, ausser man bindet die ShareMem unit ein

    Comment


    • #3
      Hallo,

      das Ziel bestimmt den Weg. Wenn in der DLL ein COM-Objekt implementiert wird, ist der WideString zwingend vorgeschrieben, da der Marshaler des Betriebssystems an dieser Stelle mit einem PChar nicht umgehen kann. Bei einer normalen DLL ist ein PChar üblicher, da er dem unter Win32 genutzten nullterminierten String entspricht. Da jede Entwicklungsumgebung (Sprache) mit Win32-API-Funktionen hantieren muss, bildet PChar somit den kleinsten gemeinsamen Nenner, so dass dem universellen Einsatz einer mit Delphi compilierten DLL nichts im Wege steht

      Comment

      Working...
      X