Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Ich bräuchte mal wieder Hilfe -- INI in DLL (https://www.delphipraxis.net/101198-ich-braeuchte-mal-wieder-hilfe-ini-dll.html)

hedie 9. Okt 2007 21:42

Datenbank: INI Files • Version: Böö :D • Zugriff über: Direkt bzw. mit einer DLL

Ich bräuchte mal wieder Hilfe -- INI in DLL
 
Hallo

Ich bin gerade wiedermal an einem kleineren Projekt und da verwende ich INI files

Um die eigentliche EXE Klein zu halten, wollte ich den INI Teil in eine DLL Auslagern
Der DLL Code sieht so aus

Delphi-Quellcode:
uses
  SysUtils,
  Classes,
  inifiles;

{$R *.res}
var
inifn:string;
ini:tinifile;

Procedure inifnset(Filename :String)stdcall;
begin
inifn:=Filename;
end;


function addtitle(Name, Path :String):Boolean;stdcall;
begin
try
ini:=TIniFile.create(ExtractFilePath(ParamStr(0))+inifn);
ini.WriteString('Test',Path,Name);
finally
ini.Free;
result:=true;
end;
end;


begin
end.
Eingebunden in die EXE hab ich die DLL so

Delphi-Quellcode:
implementation

function addtitle(Name, Path :String):Boolean;stdcall;
external 'db_main.dll';
Procedure inifnset(Filename :String)stdcall;
external 'db_main.dll';
Wenn ich nun die EXE Starte kommt zugleich der Fehler

Code:
Die Anwendung konnte nicht richtig initialisiert werden (0xc0000007b). Klicken sie auf "OK", um die Anwendung zu beenden.
Ich weiss das etwas falsch ist (sonst würde es ja gehen ;-) :D ) aber blos was???

Ich hoffe auf eure Antworten

Liebe grüsse aus der Schweiz
Claudio

lbccaleb 9. Okt 2007 21:44

Re: Ich bräuchte mal wieder Hilfe -- INI in DLL
 
warum machst du das ganze nicht nonvcl?? dazu können dir die tutorials von luckie behilflich sein...

Apollonius 9. Okt 2007 21:45

Re: Ich bräuchte mal wieder Hilfe -- INI in DLL
 
Du musst die Funktionen auch aus der Dll exportieren, dazu gibt es den exports-Abschnitt direkt vor dem begin.

hedie 9. Okt 2007 21:47

Re: Ich bräuchte mal wieder Hilfe -- INI in DLL
 
Stimmt danke

Das hatte ich ja volkommen vergessen :D

Daniel Schuhmann 9. Okt 2007 22:00

Re: Ich bräuchte mal wieder Hilfe -- INI in DLL
 
Ich kann lbccaleb nur zustimmen: Spar Dir die DLL und nimm direkte Windows-API-Aufrufe. Ich persönlich finde die Arbeit damit auch keinen Deut schwieriger als TIniFile.

Die entsprechenden Funktionen heißen MSDN-Library durchsuchenWritePrivateProfileString und MSDN-Library durchsuchenGetPrivateProfileString.

In Luckies WinAPI-Tutorials wird es ab Seite 187 erklärt.

Luckie 9. Okt 2007 22:23

Re: Ich bräuchte mal wieder Hilfe -- INI in DLL
 
Desweiteren wirst du ein Problem mit dem String bekommen. Siehe dazu: http://www.michael-puff.de/Artikel/2...ring_DLL.shtml


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:57 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