Einzelnen Beitrag anzeigen

Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: function in dll, die string zurückgibt

  Alt 17. Apr 2004, 13:43
Falls Du wirklich einen Delphi-String zurückgeben willst, so bist du auf beiden Seiten auf Delphi (C++-Builder) festgelegt.

Wenn Du eine neue DLL mit den Delphi-DLL-Experten erstellst, so bekommst Du den entsprechenden Hinweis kostenlos:
Zitat:
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muß sich in der
ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-
Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die
Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle
Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die
sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur
Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL.
Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String-
Informationen als PChar- oder ShortString-Parameter übergeben. }
Willst Du auch mit C/C++ oder VB auf deine DLL zugreifen, so darfst Du nur PChar/PWideChars verwenden und mußt klare regeln bezüglich speicherfreigabe aufstellen (Soll Platz schon von aufrufer bereitgestellt werden od wird er von der DLL angefordert...
  Mit Zitat antworten Zitat