Avatar billede steffe Nybegynder
01. april 2001 - 12:53 Der er 3 kommentarer og
2 løsninger

DLL med Form

Hvordan laver man en DLL med en form. Der skal også være et program der skal kunne loade DLL\'en.
Avatar billede borrisholt Novice
02. april 2001 - 08:19 #1
du starter med at lave en tom dll (du ved file->new->dll) og tilpasser den så den ser således ud :

library Project1;

uses
  SysUtils,
  Classes;

{$R *.RES}

begin
end.


Så tilføjer du en form til din Dll : (File->new->form)

så retter du din Dll kode til således den ser således ud :

library Project1;

uses
  SysUtils,
  Classes,
  Forms,
  Unit1 in \'Unit1.pas\' {Form1};

{$R *.RES}

function CreateForm : pointer;
begin
  Application.CreateForm(TForm1, Form1);
  result := Form1;
end;

exports
  CreateForm index 0 name \'CreateForm\';

begin
end.

Du kan eventuelt gøre \"noget\" ved din form.

Gem og kompiler.

Så mangler du blot en exe fil der kan kalde den :

Du laver din en nyt projekt.

lige under hvor der står var From1:TForm1 skriver du :

function CreateForm : pointer; External \'Project1.dll\';

Så mangler du blot at kalde det hele. Lad os fx sætte koden på en knap :

procedure TForm1.Button1Click(Sender: TObject);
var
  DllForm : TForm;
begin
  DllForm := Tform(CreateForm);
  DllForm.ShowModal;
end;


Jens B
Avatar billede wisen Nybegynder
02. april 2001 - 09:21 #2
Jeg går ud fra, at vi snakker om C-Builder, når du siger form. Du starter med at lave en form ganske som du plejer, hvorefter du laver en DLL-fil, som benytter den unit hvor formen ligger i. Du kan så bare lave en instans af formen, og vise den som normalt... Det er der ingen ben i. Du skal bare være opmærksom på, at der kan være problemer med at udveksle data mellem \"hovedprogrammet\" og dll\'en :)

/Wisen
Avatar billede steffe Nybegynder
02. april 2001 - 19:54 #3
Steffe >
Jeg bruger C++ Builder 5. Men jeg har prøvet et Eksemple, som man finder i hjælpen filen, men det kan jeg ikke få til at virke.
Avatar billede wisen Nybegynder
03. april 2001 - 07:38 #4
Prøv evt. at poste noget kode her...
Avatar billede steffe Nybegynder
05. april 2001 - 19:55 #5
Steffe >
Jeg prøvede i et par timer og fik det til at virke, men jeg ved ikke hvordan man laver en DLL med en form...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester