![]() |
Invalid pointer operation
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!
Könnt Ihr mir mal wieder aus der Patsche helfen? Ich hab vor einiger Zeit ein paar pas-Dateien von einem Freund erhalten. Diese Dateien sollten einen Treiber für den Zugriff auf den LPT-Port darstellen. Das Projekt zu einer Exe kompilieren klappt, zu einer dll auch, aber wenn ich dann die dll in ein anderes Programm einbinde krieg ich die Meldung „Invalid pointer operation“! ich hab keine Ahnung, was da falsch sein könnte! Ich hab das gesamte Projekt zum Erstellen der dll mal angehängt. Wär’ nett, wenn Ihr es euch mal anschauen könntet. Danke, Borti |
Re: Invalid pointer operation
Kann mir denn keiner von euch helfen? Ich bin schon fast am Verzweifeln! :cry:
|
Re: Invalid pointer operation
Moin moin
Wann genau kommt der Fehler ? Wenn du versucht das Projekt zu compilieren oder beim Aufruf von "Open_Driver" aus der DLL ?? schönen Gruß :cheers: Sam |
Re: Invalid pointer operation
Puh, bin ich erleichtert, dass sich endlich mal wer der Sache annimt :firejump:
Die meldung erscheint nur, wenn ich die function Readdata aufrufe. Open_Driver und Close_Driver funktionieren einwandfrei. Gruß, Borti |
Re: Invalid pointer operation
Moin
Also...bis Readdata komm ich noch gar nich, da er bei open_driver ne Datei names 'WINDRVR6', bzw. das handle auf diese Datei sucht. Die war leider nich in deinem Archiv dabei... Wäre gut wenn du die mal hochladen könntest :wink: schönen Gruß Sam |
Re: Invalid pointer operation
Liste der Anhänge anzeigen (Anzahl: 1)
Ach du meine Güte! davon hör ich zum erten mal, dass man die braucht. hab einfach alles mit dem namen WINDRVR6 hochgeladen
|
Re: Invalid pointer operation
Moin moin
So, also hab jetzt mal folgendes gemacht: die Funktion Readdata sieht in der DLL bei mir jetzt so aus:
Delphi-Quellcode:
Die Funktion gibt jetzt einen Integer-Wert zurück. Sprich das 'inttostr' musst du dann beim Aufrufen davor setzen..
function Readdata:Integer;stdcall;
begin result:=treiber_readdata(hTreiber); end; Analog dazu die Einbindung:
Delphi-Quellcode:
Auch hier von String auf Integer gewechselt, so hatte ich keine Fehlermeldung mehr...schau mal ob dir das hilft :zwinker: unit Unit1; interface uses Windows, Messages,.. . . procedure Open_Driver;stdcall; procedure Close_Driver;stdcall; function Readdata:Integer;stdcall; var Form1: TForm1; implementation {$R *.DFM} procedure Open_Driver;stdcall; external 'treiber2_project.dll'; procedure Close_Driver;stdcall; external 'treiber2_project.dll'; function Readdata:Integer;stdcall; external 'treiber2_project.dll'; . . . schönen Gruß Sam |
Re: Invalid pointer operation
Danke, es läuft :firejump:
hätt ich eigentlich auch drauf kommen müssen! :wall: :wall: :wall: aber ich hab doch die formatireung vom integer zum string schon in der dll vorgenommen. wieso lief das nicht? Danke, Borti |
Re: Invalid pointer operation
Moin
Tja, gute Frage.. :oops: Also ich hab folgendes gefunden: Zitat:
![]() So, da das aber (keine Ahnung warum) nich funktioniert hat, hab ich dann einfach aus dem String deiner Funktion ein Integer gemacht.... :angle2: very quick and bloody dirty .. :zwinker: schönen Gruß Sam |
Re: Invalid pointer operation
Das erklärt natürlich einiges!
Ich hab grad den Treiber auf einem NT-Netzwerk ausprobiert und bin nicht weit gekommen. Ich weiß nicht, ob es nun am Treiber liegt, oder ich einfach nicht alle rechte auf dem Netzwerk hab. Unter welchem Windows hast du denn den Treiber ausprobiert? Danke, Borti |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:10 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