Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi DLL Zugriffsverletzung (https://www.delphipraxis.net/28385-dll-zugriffsverletzung.html)

mymuschy 24. Aug 2004 08:46


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:
DLLEXPORT int TOOLSUITEAPI ShowInfoBox(LPCSTR psText);
hier meine Deklaration in Delphi:

Delphi-Quellcode:
unit Unit_DLL;

interface
function ShowInfoBox(Var Text:PChar):integer; stdcall;

implementation
function ShowInfoBox(Var Text:PChar):integer;
  external 'TestDll.DLL'index 1;
und hier der Aufruf:

Delphi-Quellcode:
VAR       buf: char;
     pbuf: pchar ;
begin
      buf := '0';        // Einen Wert zuweisen
      Pbuf := @buf;        // Adresse zuweisen

      ShowInfoBox(Pbuf);
ich bekomme beim aufruf von ShowInfoBox immer die Fehlermeldung: "Zugriffsverletzung bei..."


Ich habe auch schon versucht den aufruf ohne Zeiger versucht: ShowInfoBox(buf);
Aber leider mit der selben Fehlermeldung.

was mache ich falsch? :wall:

neolithos 24. Aug 2004 09:03

Re: DLL Zugriffsverletzung
 
LPCSTR steht für Null-Terminierte-Zeichenkette.

Delphi-Quellcode:
var sTmp : String;
...
  sTmp := 'Hallo';
  ShowInfoBox(PChar(sTmp));
... oder ...
  ShowInfoBox('Welt');
...

Robert Marquardt 24. Aug 2004 09:25

Re: DLL Zugriffsverletzung
 
Nicht "var Text: PChar" sondern "Text: PChar".

mymuschy 24. Aug 2004 12:35

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