![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Формы в DLL [D6, Win2k]
dtk © (2003-02-05 09:35:00)У меня такая ситуация, я вызываю форму из DLL-ки, но мне нужно из этой формы вызвать еще одну форму и передать в нее данные, так вот, когда я делаю вторую форму в этой же DLL-ке, то при ее вызове возникает ошибка, как мне это обойти?
Заранее спасибо.
dtk (2003-02-05 10:30:00) [1]всем спасибо, а особенно stoneза совет(вернее за замечание "Формы в DLL автоматически не создаются. Нужно сначала создать, а потом уже вызывать"), я уже разобрался как это побороть.
Palladin (2003-02-05 10:27:00) [2]2 dtk
да действительно
>procedure cardone(aOwner:TComponent);
тоже ляпус
достаточно
procedure cardone;
var myform:TCardOne;
begin
myform:=TCardOne.Create(nil);
MyForm.ShowModal;
MyForm.Free;
end;
Palladin (2003-02-05 10:25:00) [3]а ну да...
все верно...
чего то несуразное у тебя
myform создаешь правильно... а вот CardOne сплошной ляпус...
gek (2003-02-05 10:24:00) [4]Честно говоря неясно что это за вызов ->
procedure cardone(aOwner:TComponent);
Palladin (2003-02-05 10:21:00) [5]или подожди...
я не догнал с начала что у тебя происходит...
у тебя U_cardone используется в библиотеке?
Palladin (2003-02-05 10:18:00) [6]не правильно твоя форма создается
CardOne:=TCardOne.Create(self)
dtk (2003-02-05 10:11:00) [7]Есть такая форма
unit U_cardone;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
type
TCardOne = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
end;
var
CardOne: TCardOne;
implementation
{$R *.dfm}
end.
Вот эту форму нудно вызвать из другой. Я делал так:
library lib;
procedure cardone(aOwner:TComponent);
var myform:TCardOne;
begin
myform:=TCardOne.Create(aOwner);
MyForm.ShowModal;
MyForm.Free;
end;
.......
А затем вызывал из другой формы
...
CardOne.Create(self);
....
Может надо как-то по-другому делать? Не знаю.
Буду благодарен за совет.
Palladin (2003-02-05 09:43:00) [8]код хотя бы чтоли глянуть... или это коммерческая тайна? :)
stone (2003-02-05 09:41:00) [9]Формы в DLL автоматически не создаются. Нужно сначала создать, а потом уже вызывать.