Помогите разобраться с Dll
//========================================
Объявление DLL:
Цитата:
library UserForm;
uses
SysUtils,
Classes,
User in 'User.pas' {Form2};
{$R *.res}
exports
ShowAllUsers name 'SHOWALLUSERS';
begin
end.
//========================================
Объявление формочки Form2:
Цитата:
unit User;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables, Grids, DBGrids;
type
TForm2 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
procedure ShowAllUsers(Handle: THandle);
var
Form2: TForm2;
implementation
{$R *.dfm}
procedure ShowAllUsers(Handle: THandle);
begin
Application.Handle:=Handle;
Form2:=Form2.Create(Application);
Form2.ShowModal;
Form2.Free;
end;
end.
//========================================
Вызов формочки:
Цитата:
procedure TForm1.N11Click(Sender: TObject);
type
TShowAllUsers=procedure(Handle: THandle);
var
hLib: THandle;
ShowAllUsers: TShowAllUsers;
begin
hLib:=LoadLibrary('UserForm.dll');
if hLib<32 then Exit;
ShowAllUsers:=TShowAllUsers(GetProcAddress(hLib,'SHOWALLUSERS'));
ShowAllUsers(Application.Handle);
FreeLibrary(hLib);
end;
Form2:=TForm2.Create(Application);
......^^^
Только вот зачем ОНО надо??
Цитата:
Originally posted by man2002ua
Ошибка лежит на поверхности :)
Form2:=TForm2.Create(Application);
......^^^
Только вот зачем ОНО надо??
Ошибка лежит на поверхности :)
Form2:=TForm2.Create(Application);
......^^^
Только вот зачем ОНО надо??
А как тогда надо?
:D
Цитата:
Originally posted by man2002ua
извини, думал о другом... вот и ляпнул. Вызов формы из dll полезное дело.
:D
извини, думал о другом... вот и ляпнул. Вызов формы из dll полезное дело.
:D
Ну так, помоги, пожалста!!!
А то я не знаю что мне делать, кстати может быть проблема в XP?
Form2:= Form2.Create(Application);
надо писать
Form2:= TForm2.Create(Application);
Найди одно отличие....:x
Цитата:
Originally posted by man2002ua
Непонял... я же показал, что вместо:
Form2:= Form2.Create(Application);
надо писать
Form2:= TForm2.Create(Application);
Найди одно отличие....:x
Непонял... я же показал, что вместо:
Form2:= Form2.Create(Application);
надо писать
Form2:= TForm2.Create(Application);
Найди одно отличие....:x
!!!НАШЕЛ!!!
Спасибо! Извини за тупость... Ты будешь со мной дружить?
Цитата:
Originally posted by ryumochka
!!!НАШЕЛ!!!
Спасибо! Извини за тупость... Ты будешь со мной дружить?
!!!НАШЕЛ!!!
Спасибо! Извини за тупость... Ты будешь со мной дружить?
:D буду