Главная страница
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
1-90258
АНАТОЛИЙ
2001-12-24 15:25
2002.01.28
DELPHI-VBScript(JavaScript)


1-90326
Satrap
2002-01-06 11:56
2002.01.28
особенности WndProc


6-90338
Nemo
2001-10-29 09:27
2002.01.28
Тонууу..уу, SOS...SOS!!!!! Delphi mans, help me пожалуйста


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


1-90320
Lcoder
2002-01-10 05:31
2002.01.28
InstallShield -> системные ini-файлы