Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Frame in dll erstellen und im Hauprogramm laden (https://www.delphipraxis.net/49349-frame-dll-erstellen-und-im-hauprogramm-laden.html)

BastardOp 9. Jul 2005 22:14


Frame in dll erstellen und im Hauprogramm laden
 
Hi

ich wollte mal frage wie ich ein Frame in einer dll ablegen kann und dieses im Haupprogramm laden kann. Wenn ihr Tutorials oder ähnliches hatte würde das schon reichen.


MfG
BastardOp

freak4fun 9. Jul 2005 22:30

Re: Frame in dll erstellen und im Hauprogramm laden
 
Hallo :hi:,
ich weiß noch nicht mal was ein Frame ist, aber vielleicht kann man das genauso mchen wie mit einer Form. Guck mal hier.
Ich hoffe es hilft dir weiter. ;) Und nicht hauen, wenn nicht. :(

MfG
freak

marabu 9. Jul 2005 22:35

Re: Frame in dll erstellen und im Hauprogramm laden
 
Und hier wurde das Thema in ähnlicher Form auch mal behandelt.

Grüße vom marabu

BastardOp 9. Jul 2005 23:27

Re: Frame in dll erstellen und im Hauprogramm laden
 
entweder leigts an der uhrzeit oder an mir aber in den beiden threads wird für mich nicht wirklich ersichtlich wie ich ein Frame bzw eine Form in einer dll erstelen kann.

sorry

freak4fun 9. Jul 2005 23:48

Re: Frame in dll erstellen und im Hauprogramm laden
 
Hallo :hi:,
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

BastardOp 10. Jul 2005 05:55

Re: Frame in dll erstellen und im Hauprogramm laden
 
das versteh ich ja auch soweit ABER wie kriege ich des Formular (also die *.dfm und die ganzen procedure die zum formular gehören) in die dll rein? Das wird für mich nicht ersichtlich

SirThornberry 10. Jul 2005 10:15

Re: Frame in dll erstellen und im Hauprogramm laden
 
auf die gleiche Art und weise wie bei einem normalen Exe-Projekt auch. Ein neues Form anlegen und dieses muss dann eben dynamich erstellt werden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:06 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 by Thomas Breitkreuz