Hey, habe mich mal etwas mit Dll´s beschäftigt, erstmal um zu verstehen wie sie überhaupt funktionieren.
Ich denke das hab ich soweit verstanden, allerdings ist mir gerade was komisches passiert was ich nicht verstehe:
Ich hab ein Beispielcode für eine Verschlüsselung in MD5, welche aus der DLL abgerufen werden soll.
Dazu hab ich eine .pas erstellt mit dem verschlüsselungs Algorithmus, diese .pas habe ich in den Ordner meines DLL Projektes gemacht, die DLL sieht wie folgt aus:
		                     
             Delphi-Quelltext
                        Delphi-Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 14:
 15:
 16:
 17:
 18:
 
 | library dbtest;
 uses
 md5 in 'md5.pas';
 
 {$R *.res}
 
 function MD5String(str: WideString): WideString; stdcall;
 begin
 Result := MD5.MD5Print(MD5.MD5String(str));
 end;
 
 exports
 MD5String;
 
 begin
 
 end.
 | 
		
	  
Wenn ich jetzt versuche die DLL zu compilen kommt diese Fehlermeldung:
Ohne Angabe einer Host-Anwendung kann das Projekt nicht ausgeführt werden. Verwenden Sie das Dialogfeld Start|Parameter... 
Die DLL wird trotzdem im Projektordner erstell (nicht wie üblich im Win32 Ordner innerhalb des Projekt Ordners).
Wenn ich jetzt die DLL mit meiner exe:
												| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 14:
 15:
 16:
 17:
 18:
 19:
 20:
 21:
 22:
 23:
 24:
 25:
 26:
 27:
 28:
 29:
 30:
 31:
 32:
 33:
 34:
 35:
 36:
 37:
 38:
 39:
 40:
 41:
 42:
 43:
 44:
 45:
 46:
 47:
 48:
 49:
 50:
 51:
 52:
 53:
 54:
 55:
 
 | unit Unit1;
 interface
 
 uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;
 
 type
 TForm1 = class(TForm)
 Button1: TButton;
 Edit1: TEdit;
 Edit2: TEdit;
 procedure Button1Click(Sender: TObject);
 procedure FormCreate(Sender: TObject);
 private
 
 public
 
 end;
 
 var
 Form1: TForm1;
 PATH: string;
 
 implementation
 
 {$R *.dfm}
 
 procedure TForm1.FormCreate(Sender: TObject);
 begin
 PATH := ExtractFilePath(ParamStr(0));
 end;
 
 procedure TForm1.Button1Click(Sender: TObject);
 type
 TPluginName = function (str: WideString): WideString; stdcall;
 var
 hDLL : tHandle;
 FPName: TPluginName;
 begin
 hDLL := LoadLibrary(pChar(PATH+'dbtest.dll'));
 if hDLL = 0 then
 begin
 showmessage('Die Datei dbtest.dll wurde nicht gefunden');
 Exit;
 end;
 try
 FPName := GetProcAddress(hDLL, 'MD5String');
 if Assigned(FPName) then Edit2.text := FPName(Edit1.Text);
 except
 ShowMessage('Funktion "MD5String" der DLL konnte nicht ausgeführt werden.');
 end;
 end;
 end.
 | 
		
	  
Benutze funktioniert es.
Also, viel Text, kurze Frage, wie löse ich die Fehlermeldung 
