![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Перетаскиваю из экзешника форму(модальный диалог) в дэлэлэ. [D7, Win95/98]
Yttrium © (2003-02-06 01:38:00)Тут такие препятствия!!!
Надо чтоб тот диалог ссылался на TIniFile в главной форме.
Почему непрокатывает если функцию объявить примерно так(in DLL):
function DlgList(varINI:TIniFile): Boolean;
begin
with TFormList.Create(nil) do
begin
ini := varini; //ini - переменная в TFormList
Result := (ShowModal = 1);
free;
end;
end;
Точнее прокатывает но после тогого как несколько раз пощёлкаешь в TFormList по TListBox, в обработчике которого идёт обращение к TIniFile каждый Click, желаемый эффект пропадает! Вылетает ошибка "Access violation at address 00401E43 in module "MyINI.EXE". Write of address 02571574". Была бы это хотя бы предвиденная ошибка я бы кинулся отловить ёё, дело в том что всё работало в составе EXE лучше некуда.
Мож я непонемаю как правильно передать процедуре экземпляр класса!!!
Я незнаю как правильно передать процедуре экземпляр класса!!!
И ёщё диалог имеет свою кнопульку на ТаскБаре, как я нестарался - ну скрыл, при возврате из другого приложения ни в какую нехочет окно на передний план выползать.
Какже быть?
ЗЫ Где-то видел какойто креньдель конструктору подсунул Application, т.е. TFormXXXX.Create(Application), откуда он в DLL взял Application????
Yttrium (2003-02-08 03:27:00) [1]Здесь слово "перетаскиваю" означает не буквально физический захват мышью с последующим перемещением, а значит процесс модификации алгоритма, позволяющий вызвать конструктор формы, через экспортируемую функцию DLL, которой так же передаются некоторые параметры.
Nick_N_A (2003-02-06 05:23:00) [2]Несовсем понятна задача.
Перемещение окна:
ReleaseCapture;
SendMessage(Handle,WM_SYSCOMMAND,WM_MOVE+2,0);