AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein dll einbinden delphi 7 beispiel zugriffsfehler
Thema durchsuchen
Ansicht
Themen-Optionen

dll einbinden delphi 7 beispiel zugriffsfehler

Ein Thema von sneumann · begonnen am 19. Okt 2011 · letzter Beitrag vom 20. Okt 2011
 
sneumann
(Gast)

n/a Beiträge
 
#1

dll einbinden delphi 7 beispiel zugriffsfehler

  Alt 19. Okt 2011, 08:41
Ich habe mir jetzt schon einiges hier durchgelesen über DLLs in Delphi einbinden, ich habe es auch schon teilweise hinbekommen, dass die Funktionien funktioniert haben , habe trotzdem immer einen Zugriffsfehler bekommen beim Starten obwohl die funktionen funktioniert haben.
Benutze Delphi 7 und will eine dll einbinden die aus einem VB6 Project stammt.
zu finden ist das project unter:

http://burster.de/de/products/servic.../Thailand.html
Dort ist das Beispiel prog VB_Sample_4422.zip zum download und die dll befindet sich in der BP4422_V.1.6zip für LabWindows/CVI -, LabView - und Win32-Treiber V1.6

Ich habe die dll so eingebunden gehabt:
oben im interface
Code:
const
DLLNAME = 'bp4422.dll';
dann die deklarationen der exportierten funktion zum initialisieren des comport 4
Code:
function bp4422_init(COMPort: integer; baudRate: integer; timeout_seconds: double; blockCheck: integer; groupAddress: integer; userAddress: integer; var instrumentIDString: PChar; resetDevice: integer; var instrumentID: Pinteger): integer; stdcall; external DLLNAME;
dann der aufruf
Code:
procedure Tfrm_c4SU.Button9Click(Sender: TObject);
var
error: integer;
instidstring: PChar;
instid: Pinteger;
error := bp4422_init(4,9600,2,0,0,0,instidstring,0,instid);
ShowMessage('error = ' + IntToStr(error));
end;
was mache ich falsch bekomme trotzdem zugriffsfehler beim starten

Muss ich bei Delphi die dll noch verweisen?? habe sie als suchpfad und für den debugger angegeben. Noch irgendwo verweisen? bei Vb6 kann man sie einfach verweisen und dann funktioniert das schon wie ist das bei delphi genau? was vergesse ich?!
benutze ich die falsche aufrufkonvention ??
eventuell falsche parameter?




Die funktion scheint zu funktionieren da er mir als error eine 0 liefert am ende. (in der dokumentation der dll steht bei error = 0 success) ,aber trotzdem der zugriffsfehler am ende

EDIT: instidstring und instidname müssten eigentlich was zurück bekommen das tut instidstring jedoch nicht, beim steppen im debugger steht bei instdit jetzt $1,was scheinbar auch richtig so ist und bei instidstring steht nix

EDIT2: muss ich vorher vielliecht sowas aehnliches schreiben?
Code:
instidstring := StringOfChar(' ', 50);

Geändert von sneumann (19. Okt 2011 um 08:55 Uhr)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz