Показать сообщение отдельно
  #18  
Старый 11.03.2012, 19:19
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Код:
Form1:=TForm.Create;
Form1.Show();...
Я бы такие вещи (расширение интерфейса) писал на WinAPI. Если расширение не требует каких-то очень сложных графиков, красивых нестандартных кнопок и т.д., то на WinAPI написать сие будет очень просто. Работа с VCL не прозрачна, в отличие от WinAPI, и найти ошибку там может быть весьма сложно.

Хотя я как-то писал вроде формочку, которая была целиком в DLLке. Никаких проблем не возникало. Поищу, может найду.

UPD: нашел. Писал так:
Код:
Form2 := TForm2.Create(Ctrl^);
Windows.SetParent(Form2.Handle, Ctrl^.Handle);
Windows.SetWindowPos(Form2.Handle, 0, 0, 0, Ctrl^.Width, Ctrl^.Height, 0);
Form2.BorderStyle := bsNone;
Form2.Show;
Где Ctrl мне передавался как указатель на TControl, хотя можно и без него обойтись (форма встраивалась в главную, поэтому в парент ставился тот самый контрол). Сама форма создавалась кажется визуально.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием