Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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, и создавай какую надо... Объемно, зато без проблем




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.01.28;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.023 c
1-90275           Mr. API               2001-12-27 19:31  2002.01.28  
работа с архивами


7-90393           rel                   2001-10-16 18:30  2002.01.28  
Модемы


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


4-90434           a-leksey              2001-11-26 11:39  2002.01.28  
Нужно на время и конкретно отключить клавиатуру и мышь


1-90247           Dmitriy_R             2002-01-09 13:56  2002.01.28  
(IntToStr & StrToInt) Undeclared Identifier Почему?