![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Dialog в DLL [D2, WinXP]
Димон © (2004-12-24 12:35:00)Необходимо, чтобы при вызове функции из DLL появлялось
диалоговое окно.
Пытался сделать так
function A(...):boolean;stdcall
...
Form1:=TForm1.Create(Application);
Form1.ShowModal();
Form1.Free;
...
end;
при этом окно появлялось, но при закрытии
функция не делала то, что ей надо
KSergey (2004-12-24 13:14:00) [1]А мне все же кажется, что лучше в dll отвязать ф-ции обработки изображений от диалога с пользователем.
Вернее даже так сказать: в dll оставить ф-ции собственно обработки, принимаеющие на входе параметры обработки, а весь интерфейс с пользователем возложить на host-приложение. И проще, и - правильнее, на мой взгляд... Хотя, может и не во всех случаях, но мне кажется, чт это как раз тот случай, когда это будет вернее.
Digitman (2004-12-24 13:01:00) [2]
> Окно необходимо для задания параметров шума
ну так ты же своими руками и прибил форму (см. Form1.Free) !
как же ты далее собрался считывать параметры, если они у тебя, к примеру, хранятся как поля объекта Form1 и "умирают" вместе со "смертью" формы ?
Form1:=TForm1.Create(Application);
try
if Form1.ShowModal = mr_ok then
begin
//здесь считываем параметры
end;
//здесь собственно "шумим"
finally
Form1.Free; //а здесь уничтожаем форму за дальнейшей ненадобностью
end;
Димон (2004-12-24 12:52:00) [3]функция зашумляет изображение, передаваемое ей в качестве параметра.
Если не вызывать диалог все Ok, шум появляется, но при вызове
окна фукнция не "шумит".
Окно необходимо для задания параметров шума
Digitman (2004-12-24 12:40:00) [4]
> при закрытии
> функция не делала то, что ей надо
а что ей, кстати, "надо" ?
Skier (2004-12-24 12:39:00) [5]1) Передаётся ли библиотеке Handle вызывающего приложения ?
> но при закрытии
> функция не делала то, что ей надо
2)Поясни...
stone (2004-12-24 12:38:00) [6]Result := Form1.ShowModal = mrOk