![]() |
DLL Zugriffsverletzung
Hallo zussammen,
ich habe mir eine einfache dll(C++) geschnappt und versuche wie folgt die Fct. ShowInfoBox zu nutzen: hier die FCT in der Headerdatei der DLL:
Code:
hier meine Deklaration in Delphi:
DLLEXPORT int TOOLSUITEAPI ShowInfoBox(LPCSTR psText);
Delphi-Quellcode:
und hier der Aufruf:
unit Unit_DLL;
interface function ShowInfoBox(Var Text:PChar):integer; stdcall; implementation function ShowInfoBox(Var Text:PChar):integer; external 'TestDll.DLL'index 1;
Delphi-Quellcode:
ich bekomme beim aufruf von ShowInfoBox immer die Fehlermeldung: "Zugriffsverletzung bei..."
VAR buf: char;
pbuf: pchar ; begin buf := '0'; // Einen Wert zuweisen Pbuf := @buf; // Adresse zuweisen ShowInfoBox(Pbuf); Ich habe auch schon versucht den aufruf ohne Zeiger versucht: ShowInfoBox(buf); Aber leider mit der selben Fehlermeldung. was mache ich falsch? :wall: |
Re: DLL Zugriffsverletzung
LPCSTR steht für Null-Terminierte-Zeichenkette.
Delphi-Quellcode:
var sTmp : String;
... sTmp := 'Hallo'; ShowInfoBox(PChar(sTmp)); ... oder ... ShowInfoBox('Welt'); ... |
Re: DLL Zugriffsverletzung
Nicht "var Text: PChar" sondern "Text: PChar".
|
Re: DLL Zugriffsverletzung
:cheers:
Danke für eure Antworten Habs per Dependency Walker gefunden! Der index der Fct´s war nicht in der richtigen Reihenfolge! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:28 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