Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.09;
Скачать: CL | DM;

Вниз

Dialog в DLL   Найти похожие ветки 

 
Димон   (2004-12-24 12:35) [0]

Необходимо, чтобы при вызове функции из DLL появлялось
диалоговое окно.
Пытался сделать так
function A(...):boolean;stdcall
...
Form1:=TForm1.Create(Application);
Form1.ShowModal();
Form1.Free;
...
end;
при этом окно появлялось, но при закрытии
функция не делала то, что ей надо


 
stone ©   (2004-12-24 12:38) [1]

Result := Form1.ShowModal = mrOk


 
Skier ©   (2004-12-24 12:39) [2]

1) Передаётся ли библиотеке Handle вызывающего приложения ?


> но при закрытии
> функция не делала то, что ей надо

2)Поясни...


 
Digitman ©   (2004-12-24 12:40) [3]


> при закрытии
> функция не делала то, что ей надо


а что ей, кстати, "надо" ?


 
Димон   (2004-12-24 12:52) [4]

функция зашумляет изображение, передаваемое ей в качестве параметра.
Если не вызывать диалог все Ok, шум появляется, но при вызове
окна фукнция не "шумит".
Окно необходимо для задания параметров шума


 
Digitman ©   (2004-12-24 13:01) [5]


> Окно необходимо для задания параметров шума


ну так ты же своими руками и прибил форму (см. Form1.Free) !

как же ты далее собрался считывать параметры, если они у тебя, к примеру, хранятся как поля объекта Form1 и "умирают" вместе со "смертью" формы ?

Form1:=TForm1.Create(Application);
try
if Form1.ShowModal = mr_ok then
 begin
 //здесь считываем параметры
 end;
//здесь собственно "шумим"
finally
Form1.Free; //а здесь уничтожаем форму за дальнейшей ненадобностью
end;


 
KSergey ©   (2004-12-24 13:14) [6]

А мне все же кажется, что лучше в dll отвязать ф-ции обработки изображений от диалога с пользователем.
Вернее даже так сказать: в dll оставить ф-ции собственно обработки, принимаеющие на входе параметры обработки, а весь интерфейс с пользователем возложить на host-приложение. И проще, и - правильнее, на мой взгляд... Хотя, может и не во всех случаях, но мне кажется, чт это как раз тот случай, когда это будет вернее.



Страницы: 1 вся ветка

Текущий архив: 2005.01.09;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
3-1102327062
yuray
2004-12-06 12:57
2005.01.09
Создание процедуры программно


3-1102494574
Fedor
2004-12-08 11:29
2005.01.09
Как лучше записи копировать?


4-1100790422
integer
2004-11-18 18:07
2005.01.09
Подскажите как найти в какой *.dll сидят свойства притера


3-1102295375
Gene Green
2004-12-06 04:09
2005.01.09
Interbase Client/Server. Срочно нужна помощь.


14-1103530570
MVVD
2004-12-20 11:16
2005.01.09
Почему не выключается компьютер