Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Tutorials und Kurse (https://www.delphipraxis.net/36-tutorials-und-kurse/)
-   -   [Artikel] Rückgabe von Strings aus DLLs (https://www.delphipraxis.net/78559-%5Bartikel%5D-rueckgabe-von-strings-aus-dlls.html)

Luckie 6. Okt 2006 23:59


[Artikel] Rückgabe von Strings aus DLLs
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es scheint immer wider Probleme zugeben, wenn es darum geht mit Funktionen in DLLs Strings zurückzugeben. Diesr Thread PChar schneidet letztes zeichen ab hat mich dann dazu bewegt, dies mal etwas ausführlicher in einem kurzen Artikel oder kleinen Tutorial zu erklären wie man es machen kann.

Artikel: Rückgabe von Strings aus DLLs

Ich hoffe, ich habe damit zum allgemeinen Unverständnis beigetragen. ;)

Bernhard Geyer 7. Okt 2006 05:47

Re: [Artikel] Rückgabe von Strings aus DLLs
 
Evtl. könntest Du noch einen kleinen Hinweis darauf geben das mit alternativen Speichermanagern wie FastMM4 man auch String zwischen DLL's und Exe austauschen kann ohne ShareMem.DLL zu benötigen.

EWeiss 7. Okt 2006 09:56

Re: [Artikel] Rückgabe von Strings aus DLLs
 
Habe gelesen man sollte generell darauf verzichten Strings aus einer DLL
zu exportieren da probleme mit anderen Programmiersprachen nicht ausgeschlossen
werden können.
C++ muckt rum beim exportieren von Strings .. besser PChar benutzen.

gruß

Luckie 7. Okt 2006 10:12

Re: [Artikel] Rückgabe von Strings aus DLLs
 
Zitat:

Zitat von Bernhard Geyer
Evtl. könntest Du noch einen kleinen Hinweis darauf geben das mit alternativen Speichermanagern wie FastMM4 man auch String zwischen DLL's und Exe austauschen kann ohne ShareMem.DLL zu benötigen.

Oh. Geht das? Das wusste ich gar nicht. :gruebel: Dan ist die DLL aber nicht mehr kompatible zu Programmiersprachen, die keine Strings kennen, wie C/C++ zum Beispiel oder deren String-Datentyp anders aufgebaut ist.

himitsu 7. Okt 2006 16:59

Re: [Artikel] Rückgabe von Strings aus DLLs
 
Man kann auch Strings an C übergeben, die Definition des Delphi-Strings läßt sich auch da implementieren und wenn man unter C nur lesen will, dann kann man einen Delphi-String dort auch einfach als PChar ansehen, aus diesem Grund zeigt der interne Pointer ja nicht auf den Strukturanfang, sondern auf die Stringdaten und am Ende wurde extra ein #0 angefügt.

Bernhard Geyer 7. Okt 2006 19:28

Re: [Artikel] Rückgabe von Strings aus DLLs
 
Zitat:

Zitat von Luckie
Zitat:

Zitat von Bernhard Geyer
Evtl. könntest Du noch einen kleinen Hinweis darauf geben das mit alternativen Speichermanagern wie FastMM4 man auch String zwischen DLL's und Exe austauschen kann ohne ShareMem.DLL zu benötigen.

Oh. Geht das? Das wusste ich gar nicht. :gruebel:

Was, Du weist etwas nicht :mrgreen:

Zitat:

Zitat von Luckie
Dan ist die DLL aber nicht mehr kompatible zu Programmiersprachen, die keine Strings kennen, wie C/C++ zum Beispiel oder deren String-Datentyp anders aufgebaut ist.

Es soll ja auch nur mit der gleichen Intention oder im gleichen Abschnitt wie die ShareMem-Lösung aufgeführt werden. Diese ist ja auch Delphi/C++-Builder beschränkti


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:38 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