AGB  ·  Datenschutz  ·  Impressum  







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

Probleme beim Zugriff auf eine DLL

Ein Thema von Catbytes · begonnen am 7. Apr 2005 · letzter Beitrag vom 7. Apr 2005
Antwort Antwort
Benutzerbild von Catbytes
Catbytes

Registriert seit: 7. Sep 2002
Ort: Heckendalheim
353 Beiträge
 
Delphi XE5 Enterprise
 
#1

Probleme beim Zugriff auf eine DLL

  Alt 7. Apr 2005, 14:29
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:
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.
Kompilieren läßt sich das Programm ohne Probleme. Beim starten kommt folgende Meldung:

"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?
Catbytes
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.173 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Probleme beim Zugriff auf eine DLL

  Alt 7. Apr 2005, 14:34
Zitat von Catbytes:
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?
Wurde die Funktion wirklich mit der schreibweise Exportiert (xsGetID) (Groß-/Gleinschreibung, kann mit DependencyWalker) überprüft werden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Catbytes
Catbytes

Registriert seit: 7. Sep 2002
Ort: Heckendalheim
353 Beiträge
 
Delphi XE5 Enterprise
 
#3

Re: Probleme beim Zugriff auf eine DLL

  Alt 7. Apr 2005, 14:48
Zitat von Bernhard Geyer:
Wurde die Funktion wirklich mit der schreibweise Exportiert (xsGetID) (Groß-/Gleinschreibung, kann mit DependencyWalker) überprüft werden.
Natürlich nicht *grummel*

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?

Danke - Problem gelöst...
Catbytes
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:32 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