Форум: "Основная";
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];
ВнизСоздание 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;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c