![]() |
Probleme beim Zugriff auf eine DLL
Hallo,
ich habe hier eine DLL, die angeblich in ANSI-C geschrieben wurde (so sagt es zumindest der Entwickler). Beim stöbern in diversen Foren und Threads, habe ich meine erste kleine DLL-Stunde nun hinter mir und wollte eine Funktion dieser DLL aufrufen. In der technischen Dokumentation der DLL steht folgendes: xsGetID long xsGetID(); Bsp.: ID = xsGetID() Hier der Quellcode, mit dem ich nun versuche, diese Funktion aufzurufen:
Delphi-Quellcode:
Kompilieren läßt sich das Programm ohne Probleme. Beim starten kommt folgende Meldung:
unit Main;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; const DLLNAME = 'FF.dll'; function xsGetID(): LongInt; stdcall implementation {$R *.dfm} function xsGetID(): LongInt; external DLLNAME; stdcall; procedure TForm1.Button1Click(Sender: TObject); var ID: LongInt; begin ID := xsGetID(); end; end. "FF_Demo.exe - Einsprungpunkt nicht gefunden Der Prozedureinsprungpunkt "xsGetID" wurde in der DLL "FF.dll" nicht gefunden." Beim Klick auf "OK" und anschließend "F9", bleibt Delphi im CPU-Debugger hängen und schreibt folgendes: "Benachrichtigung über Debugger-Problem In Projekt D:\Programme\Borland\Delphi7\D-Progs\FF-Demo\FF_Demo.exe trat ein Problem mit folgender Meldung auf: 'Zugriffsverletzung bei 0x77896c94: Schreiben von Adresse 0x00030c94'. Prozess angehalten. Mit Einzelne Anweisung oder Start fortsetzen." Die DLL ist in dem Programmverzeichnis vorhanden und nicht schreibgeschützt. Als Betriebssystem verwende ich Windows 2000. Frage: Ist der Code oben korrekt, oder geht es da schon los und es sind Fehler drin? Falls keine Fehler im Code erkennbar sind: Was könnte noch zu dem Fehler führen? |
Re: Probleme beim Zugriff auf eine DLL
Zitat:
|
Re: Probleme beim Zugriff auf eine DLL
Zitat:
DANKE! Genau das wars! Das Programm (DependencyWalker) kannte ich nicht und hat mir auf Anhieb geholfen ;-) Die Funktion heißt eigentlich "dllGetID()" (In der technischen Doku wie gesagt als xsGetID() gelistet)... Darf ich jetzt den Dienstleister verklagen? :gruebel: :lol: Danke - Problem gelöst... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:37 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