Главная страница
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.043 c
3-1102505582
Stas Kalishenko
2004-12-08 14:33
2005.01.09
Смена языкового драйвера для DBASE


14-1103388402
alex145
2004-12-18 19:46
2005.01.09
PHP-скрипт без ответа


8-1096901011
sergvc
2004-10-04 18:43
2005.01.09
Распечатать изображение на принтере


11-1084528305
dimon1979
2004-05-14 13:51
2005.01.09
Табуляция


1-1103614357
павел
2004-12-21 10:32
2005.01.09
Определение нажатой кнопки