Registriert seit: 22. Sep 2004
Ort: Hannover
1.807 Beiträge
Delphi 10.2 Tokyo Starter
|
Re: Frame in dll erstellen und im Hauprogramm laden
9. Jul 2005, 23:48
Hallo ,
es ligt bestimmt an der Uhrzeit.
Die Unit in der das Formular aus der .dll aufgerufen wird:
Delphi-Quellcode:
unit Unit1;
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;
procedure DLLFormShow; stdcall;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure DLLFormShow; stdcall;
external ' Project2.dll';
procedure TForm1.Button1Click(Sender: TObject);
begin
DLLFormShow;
end;
end.
Der Inhalt der Project2.dll:
Delphi-Quellcode:
library Project2;
{ Wichtiger Hinweis zur DLL-Speicherverwaltung: ShareMem muß sich in der
ersten Unit der unit-Klausel der Bibliothek und des Projekts befinden (Projekt-
Quelltext anzeigen), falls die DLL Prozeduren oder Funktionen exportiert, die
Strings als Parameter oder Funktionsergebnisse übergeben. Das gilt für alle
Strings, die von oder an die DLL übergeben werden -- sogar für diejenigen, die
sich in Records und Klassen befinden. Sharemem ist die Schnittstellen-Unit zur
Verwaltungs-DLL für gemeinsame Speicherzugriffe, BORLNDMM.DLL.
Um die Verwendung von BORLNDMM.DLL zu vermeiden, können Sie String-
Informationen als PChar- oder ShortString-Parameter übergeben. }
uses
SysUtils,
Classes,
Forms;
{$R *.res}
procedure DLLFormShow;
var
dllForm: TForm;
begin
dllForm := TForm.Create(Application);
try
dllForm.ShowModal;
finally
dllForm.Release;
end;
end;
exports
DLLFormShow;
begin
end.
Benutzte Quellen:
dsdt.info
Der schon erwähnte Link.
MfG
freak
Christian
IT: Schließen Sie bitte das Fenster. User: Die Tür auch?
i++; // zaehler i um 1 erhoehen
|
|
Zitat
|