Код:
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, хотя можно и без него обойтись (форма встраивалась в главную, поэтому в парент ставился тот самый контрол). Сама форма создавалась кажется визуально.