Avatar billede danjal2 Nybegynder
26. februar 2002 - 11:53 Der er 1 kommentar og
1 løsning

Vise en form i en dll-fil, sum er åbnet af en anden dll-fil

Jeg lavet en dll-fil med en form på. Når en knap på formen bliver aktiveret, skal en anden dll-fil åbnes og formen på denne fil skal vises.
Jeg har prøvet at lave dette, men jeg får ikki vist formen. Koden på formen kan jeg godt køre.

Er der nogen der kan hjælpe mig.
Avatar billede elohim Nybegynder
26. februar 2002 - 14:20 #1
Prøv at komme med noget kode
Avatar billede danjal2 Nybegynder
26. februar 2002 - 14:50 #2
Dette er den første DLL:

library Umsokn;

uses
  ShareMem,
  SysUtils,
  Classes,
  UmsoknUnit in 'UmsoknUnit.pas' {FormUmsokn}

{$R *.res}

procedure ShowFormUmsokn; stdcall;
begin
  if FormUmsokn = nil Then
    FormUmsokn := TFormUmsokn.Create(nil);

  FormUmsokn.Show;
end;

exports
  ShowFormUmsokn;
 
begin
end.

På formen til denne DLL er en knap, sum skal åbne formen på en anden DLL, sum er lavet på samme måde.

unit UmsoknUnit;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ExtCtrls, StdCtrls, CheckLst, ComCtrls, DB, ADODB;

type
  TSortB = procedure;

  TFormUmsokn = class(TForm)
    .
    .
    ..
    Button1: TButton;
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
    SortB : TSortB;
  public
    { Public declarations }
    DllHandle : THandle;
  end;

var
  FormUmsokn: TFormUmsokn;

implementation

uses

{$R *.dfm}


procedure TFormUmsokn.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  FreeLibrary(DllHandle);
  DllHandle := 0;
  Action := caFree;
  FormUmsokn := nil;
end;

procedure TFormUmsokn.Button1Click(Sender: TObject);
begin
  DllHandle := LoadLibrary('Sort.dll');
  if DllHandle <> 0 Then begin
    @SortB := GetProcAddress(DllHandle, 'SortB');
    SortB;
  end
  else
    Showmessage('blabla');
end;

end.
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