AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Zugriffsverletzung beim Aufrufen einer eigenen DLL
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriffsverletzung beim Aufrufen einer eigenen DLL

Ein Thema von Thomas233 · begonnen am 20. Nov 2004 · letzter Beitrag vom 31. Aug 2005
 
Thomas233

Registriert seit: 20. Feb 2004
Ort: Villach
66 Beiträge
 
Delphi 2005 Personal
 
#1

Zugriffsverletzung beim Aufrufen einer eigenen DLL

  Alt 20. Nov 2004, 18:43
Hallo,

ich habe ein Problem beim Verwenden meiner selbst geschrieben DLL in meinen Programm, und zwar handelt es sich um eine Zugriffsverletzung die beim Aufrufen einer Prozedur aus einer DLL entsteht.

Die Dll wird statisch ins Programm eingebunden. Sie parst eine Datei welche auf der Fesplatte vorhanden ist.

Ich habe DLLs bisher immer gemieden da ich immer dieses Zugriffsverletzungs-Problem mit jeder DLL die ich erstellt hatte gehabt habe.

Irgendwo scheine ich da immer einen Fehler zu machen obwohl ich nach einem Dll-Tutorial, welches ich bei Delphi-Source.de fand, vorgehe.

Wenn ich den Quellcode direkt in mein Programm einbinde (also nicht in die Dll auslagere sondern in eine Unit des Programmes) dann gibts keine Probleme, es kann also nur an der Dll selbst liegen !
Es ist auch egal welche Aufrufkonvention ich verwende, es kommt immer wieder eine Zugriffsverletzung.

Delphi-Quellcode:
// Quellcode der Dll
library gui;

uses
  SysUtils,
  Classes,
  d3d_sprite_gui in '..\..\..\d3d_sprite_gui.pas',
  d3d_input in '..\..\..\d3d_input.pas',
  dxhelp in '..\..\..\dxhelp.pas',
  d3dx9 in '..\..\..\d3dx9.pas',
  Direct3D9 in '..\..\..\Direct3D9.pas',
  DirectInput9 in '..\..\..\DirectInput9.pas',
  dxerr9 in '..\..\..\dxerr9.pas',
  DXFile in '..\..\..\DXFile.pas',
  d3d_sprite_textout in '..\..\..\d3d_sprite_textout.pas',
  d3d_sprite in '..\..\..\d3d_sprite.pas',
  uTools in '..\..\..\uTools.pas',
  StrUtils;

var CurPos:integer=-1;
    Sl:TStringlist;
    GuiDev:TD3DGui;
    EndPosofproc:integer;

{$R *.res}

procedure Gui_Add_Cmd(str:string);
begin
//...
end;

procedure Gui_Set_Cmd(str:string);
begin
//...
end;

procedure Gui_Cmd;
var i:integer;
begin
//...
end;

procedure Proc_Cmd(findproc:Shortstring);
var i:integer;
begin
//...
end;

procedure ParseGuiFromFile(_Gui:TD3DGui;filename:ShortString;menu:ShortString); pascal;
begin
GuiDev:=_Gui;
Sl:=TStringlist.Create;
Sl.LoadFromFile(filename);

Proc_Cmd(menu);

Sl.Free;
end;

exports
  ParseGuiFromFile;

begin

end.
Delphi-Quellcode:
//Deklaration
procedure ParseGuiFromFile(_Gui:TD3DGui;filename:ShortString;menu:ShortString); pascal;
//Implementierung
procedure ParseGuiFromFile(_Gui:TD3DGui;filename:ShortString;menu:ShortString); pascal; external 'data\dlls\gui.dll';
//Aufruf
ParseGuiFromFile(Gui,'data\scripts\gui\gui1.whs','GuiMainMenu');
Ich bin echt ratlos und so schön langsam fange ich an den ganzen Dll-Kram zu hassen

Wäre echt nett wenn einer mir einen Tipp zur Vermeidung des Problems geben könnte

Vielen Dank im Vorraus !

Liebe Grüße,
Thomas
  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 10:43 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