Главная страница
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.024 c
1-1103811959
Adoon
2004-12-23 17:25
2005.01.09
Как определить версию Excel (97 или 2000) и язык


8-1096996658
ser_ega
2004-10-05 21:17
2005.01.09
BitMap


4-1100809345
Apophis
2004-11-18 23:22
2005.01.09
Обновление списка оборудования ОС


3-1102513151
Виктор23
2004-12-08 16:39
2005.01.09
Медленное выполнение ADODataSet1.Next


1-1103490857
VaDima
2004-12-20 00:14
2005.01.09
Установка свойства Parent для TWebBrowser - нарушение работы