Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.01.28;
Скачать: CL | DM;

Вниз

Создание TFrame из внешней DLL... Вообще, реально?   Найти похожие ветки 

 
Григорий Ситнин ©   (2002-01-10 15:28) [0]

Приветствую всех! Есть задача - у главного приложения есть TPanel, на который бы хотелось класть произвольного наследника от TFrame из разных DLL.
Никак не могу добиться работоспособности, а при динамической загрузке DLL еще и "Access Violation" получаю. Кто-нибудь такое уже творил? Подскажите, в каком направлении рыть, пожалуйста.
Юрий, очень на Вас надеюсь =)

--- (форма с TPanel) Form1.pas
unit uForm1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;

type
TForm1 = class(TForm)
Panel1: TPanel;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
frm: tframe;
end;

var
Form1: TForm1;

implementation
uses uFrame1;
{$R *.dfm}

function GetFrame(Owner: TControl): TFrame; external "extdll.dll" name "getframe";

procedure TForm1.Button1Click(Sender: TObject);
begin
frm := GetFrame(panel1);
panel1.InsertControl(frm);
end;

end.


--- (внешняя DLL) extdll.dpr
library extdll;

uses
Controls, Forms, Dialogs, uFrame1 in "uFrame1.pas" {Frame1: TFrame};

{$R *.res}
function GetFrame(Owner: TControl): TFrame;
begin
Result := TFrame1.Create(Owner);
end;

exports
GetFrame name "getframe";

begin
end.


--- Модуль uFrame1.pas - просто наследник TFrame, содержащий один TEdit. DPR к exe-шнику тоже банален и стандартен.


 
Romkin ©   (2002-01-10 15:34) [1]

Дык сделай несколько ActiveXForm, и создавай какую надо... Объемно, зато без проблем



Страницы: 1 вся ветка

Текущий архив: 2002.01.28;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.009 c
3-90226
Ross
2001-12-24 21:58
2002.01.28
ProgressBar


3-90230
Mr.Sane
2001-12-25 10:45
2002.01.28
SQL


1-90281
Leva
2002-01-10 12:36
2002.01.28
StayOnTop-форма исчезает


1-90294
Vasilii
2002-01-08 10:19
2002.01.28
Вызов консольного приложения


1-90305
Pavel_s
2002-01-10 13:07
2002.01.28
Об FLAT