Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #3  
Старый 30.06.2008, 23:03
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,106
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, где-то ты напортачил.
Вообще, когда я последний раз делал такую штуку я делал ее через форму и вызов CreateParented.

Код:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
// Код DLL
 
// Нужна для корректного удаления формы
procedure FreeForm(var Frm : TForm); stdcall;
begin
  FreeAndNil(Frm);
end;
 
function MakeForm(AParent : THandle) : TForm; stdcall;
begin
  Result := TForm1.CreateParented(AParent);
  Result.Visible := True;
end;
 
exports
  FreeForm,
  MakeForm;
 
 
// Код основной программы
// Создаем форму на панельке.
var
  PluginForm : TForm;
begin
  PluginForm := MakeForm(Panel1.Handle);
  ...
  // Поработали с формой, теперь ее убиваем
  FreeForm(PluginForm);
end;

Надеюсь, что причины использования FreeForm объяснять не надо?

Последний раз редактировалось lmikle, 30.06.2008 в 23:11.
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:26.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025