AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Invalid pointer operation

Ein Thema von Borti · begonnen am 30. Jan 2004 · letzter Beitrag vom 19. Jun 2007
Antwort Antwort
Seite 1 von 2  1 2      
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#1

Invalid pointer operation

  Alt 30. Jan 2004, 17:19
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
Angehängte Dateien
Dateityp: zip treiber_dll.zip (205,8 KB, 9x aufgerufen)
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#2

Re: Invalid pointer operation

  Alt 2. Feb 2004, 14:48
Kann mir denn keiner von euch helfen? Ich bin schon fast am Verzweifeln!
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
Benutzerbild von BluesKid
BluesKid

Registriert seit: 2. Sep 2003
Ort: NRW
133 Beiträge
 
Delphi 2005 Professional
 
#3

Re: Invalid pointer operation

  Alt 2. Feb 2004, 15:50
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ß

Sam
  Mit Zitat antworten Zitat
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#4

Re: Invalid pointer operation

  Alt 2. Feb 2004, 17:53
Puh, bin ich erleichtert, dass sich endlich mal wer der Sache annimt
Die meldung erscheint nur, wenn ich die function Readdata aufrufe. Open_Driver und Close_Driver funktionieren einwandfrei.
Gruß,
Borti
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
Benutzerbild von BluesKid
BluesKid

Registriert seit: 2. Sep 2003
Ort: NRW
133 Beiträge
 
Delphi 2005 Professional
 
#5

Re: Invalid pointer operation

  Alt 3. Feb 2004, 08:21
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


schönen Gruß

Sam
  Mit Zitat antworten Zitat
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#6

Re: Invalid pointer operation

  Alt 3. Feb 2004, 15:16
Ach du meine Güte! davon hör ich zum erten mal, dass man die braucht. hab einfach alles mit dem namen WINDRVR6 hochgeladen
Angehängte Dateien
Dateityp: zip windrvr6_197.zip (145,9 KB, 6x aufgerufen)
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
Benutzerbild von BluesKid
BluesKid

Registriert seit: 2. Sep 2003
Ort: NRW
133 Beiträge
 
Delphi 2005 Professional
 
#7

Re: Invalid pointer operation

  Alt 4. Feb 2004, 09:03
Moin moin

So, also hab jetzt mal folgendes gemacht:

die Funktion Readdata sieht in der DLL bei mir jetzt so aus:

Delphi-Quellcode:
function Readdata:Integer;stdcall;
begin
 result:=treiber_readdata(hTreiber);
end;
Die Funktion gibt jetzt einen Integer-Wert zurück. Sprich das 'inttostr' musst du dann beim Aufrufen davor setzen..

Analog dazu die Einbindung:

Delphi-Quellcode:

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';

.
.
.
Auch hier von String auf Integer gewechselt, so hatte ich keine Fehlermeldung mehr...schau mal ob dir das hilft


schönen Gruß

Sam
  Mit Zitat antworten Zitat
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#8

Re: Invalid pointer operation

  Alt 4. Feb 2004, 16:41
Danke, es läuft
hätt ich eigentlich auch drauf kommen müssen!
aber ich hab doch die formatireung vom integer zum string schon in der dll vorgenommen. wieso lief das nicht?
Danke,
Borti
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
Benutzerbild von BluesKid
BluesKid

Registriert seit: 2. Sep 2003
Ort: NRW
133 Beiträge
 
Delphi 2005 Professional
 
#9

Re: Invalid pointer operation

  Alt 5. Feb 2004, 09:01
Moin

Tja, gute Frage..

Also ich hab folgendes gefunden:

Zitat:
Delphi Memory Allocation and Dynamic-Link Libraries

Borland's comments within a wizard-generated DLL project:
{ Important note about DLL memory management: ShareMem must be the first unit in your library's USES clause AND your project's (select Project-View Source) USES clause if your DLL exports any procedures or functions that pass strings as parameters or function results. This applies to all strings passed to and from your DLL--even those that are nested in records and classes. ShareMem is the interface unit to the BORLNDMM.DLL shared memory manager, which must be deployed along with your DLL. To avoid using BORLNDMM.DLL, pass string information using PChar or ShortString parameters. }
Den gesammten text gibts hier.

So, da das aber (keine Ahnung warum) nich funktioniert hat, hab ich dann einfach aus dem String deiner Funktion ein Integer gemacht....

very quick and bloody dirty ..


schönen Gruß

Sam
  Mit Zitat antworten Zitat
Borti

Registriert seit: 11. Okt 2003
151 Beiträge
 
#10

Re: Invalid pointer operation

  Alt 9. Feb 2004, 13:29
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
Ich hab's versucht
(auch wenn's nicht so aus sieht)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:31 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