Thema: Delphi Pchar Rückgabe

Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.107 Beiträge
 
Delphi 11 Alexandria
 
#13
  Alt 29. Dez 2002, 14:27
Moin Berbog,

zum einen schreibst Du

Zitat:
Dll Funktion analog1 wird ausgelesen und als Wert angezeigt
zum anderen deklarierst Du eine Varible mit dem Namen analog1.

Hast Du jetzt also eine Variable und eine Funktion mit gleichem Namen?

Dann wäre noch die Frage was die Dokumentation für die DLL Funktion über die zu übergebenden Parameter aussagt.

Eine Meldung

"4|" ist kein gültiger Integerwert

weist eigentlich darauf hin, dass analog1 ins Nirwana zeigt und keinen definierten Wert enthält.

Um zumindest vor Aufruf der Funktion zu wissen, was analog1 enthält solltest Du den Speicher ggf. mit AllocMem reservieren, oder aber mit FillChar/ZeroMemory auf binär 0 initialisieren (Achtung, bei AllocMem muss vermutlich ein Byte mehr reserviert werden als gedacht, um Platz für die terminierende 0 zu haben)

@DerKapitalist
Zitat von DerKapitalist:
Bei Übergabe von PChars erhaellst du naemlich keine Kopie der Daten sondern das Original.
Das dürfte wohl von der aufgerufenen Funktion abhängen.
Wenn der, wie zumindest in der Windows API meist üblich, ein Pointer auf einen Buffer übergeben werden soll, in den die Funktion ihr Ergebnis schreiben soll, wird es wohl eher eine Kopie sein.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat