Einzelnen Beitrag anzeigen

Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.838 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

Re: TClientDataSet/midas.dll und RegistryEinträge

  Alt 15. Aug 2005, 07:23
Zitat von Thanatos81:
...Danach lief das Programm auf einmal nicht mehr, da es die midas.dll nicht mehr finden konnte...
Hallo,
ergänze einfach die uses Anweisung im *.dpr um die Zeile "MidasLib,". Damit wird die Funktionalität der midas.dll in die *.exe eingebunden, und die midas.dll wird nicht mehr benötigt.
Das Programm (*.exe) wird damit zwar 200kb größer, aber das ist in den meisten Fällen egal. (dafür braucht man ja nicht mehr die midas.dll)

ich hatte mal folgendes geschrieben:
Es ist möglich den in der midas.dll ausgelagerten Code in das Projekt einzubinden.

Dazu muss nur in dem Projekt die *.dpr um eine Zeile ergänzt werden:
Delphi-Quellcode:
uses
  MidasLib, // damit wird die midas.dll nicht mehr benötigt
  Forms,
...
Das Einbinden der Midas in das Projekt hat folgende Vorteile:
  • Es wird keine midas.dll mehr benötigt
  • Die midas.dll muss demnach auch nicht mehr registriert sein
  • Es wird immer die Version verwendet, mit der auch das Programm erstellt wurde
  • Es ist also nicht mehr möglich, das eine Delphi 5 midas.dll mit einem Delphi 7 Programm verwendet wird
  • Es ist nur ein minimaler Aufwand Midas einzubinden (eine Zeile Quelltext / Projekt)
Das Einbinden der Midas in das Projekt hat im Wesentlichen 2 Nachteile:
  • Die Exe Datei wird ca. 200k größer
  • Wenn z.B. zwei Projekte Midas benutzen, wird nicht nur eine midas.dll geladen, sondern jedes Projekt lädt den Code jetzt in den Speicher.
Das Ganze ist noch mal (auf Englisch) nachzulesen unter: http://bdn.borland.com/article/0,1410,29297,00.html



Noch ein Beisp.
Delphi-Quellcode:
program Project1;

uses
  Forms,
  MidasLib, // <-- diese Zeile einfügen !!!
  Unit1 in 'Unit1.pas{Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat