RusDeveloper писал(а):Спасибо! будем разбираться
1. заметил, что можно переключаться между главной формой и формой из dll-ки. таким образом, можно создать несколько форм из дллки. я создал три, начал их закрывать и при закрытии второй нарвался на ошибку SIGSEGV - это из-за чего?
2. изменил код процедуры, создающей форму в дллке:
- Код: Выделить всё
procedure ShowMyLibForm(AOwner:TComponent); cdecl; export;
begin
Application.Initialize;
with TMyLibForm.Create(AOwner{Application}) do
try
ShowModal;
finally
Free;
end;
end;
а было вот так:
- Код: Выделить всё
procedure ShowMyLibForm; cdecl; export;
begin
Application.Initialize;
with TMyLibForm.Create(Application) do
try
ShowModal;
finally
Free;
end;
end;
т.е. передаю ссылку на главную форму (код в вызывающем приложении тоже поправил). это не помогло. я все так же могу переключаться между главной формой и формой из дллки - как с этим бороться? (ошибка описанная в первом пукте осталась)
Добавлено спустя 1 час 50 минут 20 секунд:3. создал свое тестовое приложение. решил попробовать разнести формы по разным дллкам (абслолютно идентичным дллкам). так вот при втором вызове из второй дллки получаю ошибку
Duplicate name: A component named "fmTest" already exists... fmTest - это имя формы. так еще вдобавок ко всему нельзя иметь в разных дллках компоненты с одинаковыми наименованиями???