Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Вызов из dll


Автор: cot 30.5.2004, 10:12
Почему при вызове из библиотеки Form2.ShowModal возникает исключение Access Violation,
а при вызове Form2.ShowModal из простого модуля все работает нормально ?

library Proba;


uses
Windows, Messages, SysUtils,
Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls,Unit2;

{$R *.res}
procedure OpenWindow;stdcall;
begin
Form2.ShowModal
end;
exports
OpenWindow;
begin
end.

Автор: <Spawn> 30.5.2004, 10:26
А где ты создаешь экземпляр формы?

Автор: Pakshin A. S. 30.5.2004, 19:17
Действительно, судя по исходному коду, надо где-то прописать Form2:=TForm2.Create(self); и не забыть про Form2.Free; biggrin.gif

Автор: cot 31.5.2004, 16:28
Она ведь описана в модуле Unit2. Хотите сказать, что это обращение к несозданному объекту?

Автор: Pakshin A. S. 31.5.2004, 18:47
Bingo!

Ага...

Если ты действительно не создаешь форму нигде.

Автор: cot 1.6.2004, 06:23
Я думал в делфях фарма всегда создается автоматически. Спасибо! Добавил конструктор все заработало.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)