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

Вниз

Форма и DLL. Архиваторный плагин   Найти похожие ветки 

 
Моторокер   (2007-01-27 11:58) [0]

Пишу архиваторный плагин для Total Commander на Delphi
С VCL разобрался, теперь пытаюсь уменьшить размер плагина с помощью KOL&MCK

Форма вызывается как модальная, но программа работает дальше сразу после ShowModal.

Код самой формы в модуле Setup.pas

// настройка плагина
function ConfigurePacker(Parent: HWND; DLLinstance: integer): integer; stdcall;
var
 fm: PfmSetup;
begin
 NewfmSetup(fm, nil);
 MsgOK("Run...");
 {Run(fm.Form);
 MsgOK("Показать форму...");}
 fm.Form.ShowModalEx;
 MsgOK("Удалить форму...");
 fm.Form.Free;
 fm:= nil;
 Result:= E_SUCCESS; // Выполнено успешно
end;


Исходник:
http://motorocker.nm.ru/download/pluginsimple5.rar (23 Kb)

Анализ примеров ничего не дал.


 
Psychedelic ©   (2007-01-27 12:30) [1]

MessageBox API юзай, и указывай хэндл. Должно сработать.


 
Psychedelic ©   (2007-01-27 12:31) [2]

А блин, это ж DLL.


 
Моторокер   (2007-01-27 13:15) [3]

Сообщения MsgOK только для тестирования

после
fm.Form.ShowModal;
сразу вызывается
MsgOK("Удалить форму...");

в VCL всё аналогично, на работает нормально


 
AlexM ©   (2007-01-28 09:09) [4]

На форму положи TKOLApplet,
а в Main.pas:

function ConfigurePacker(Parent: HWND; DLLinstance: integer): integer; stdcall;
var
 fm: PfmSetup;
begin
 NewfmSetup(fm,Applet);


 
Моторокер   (2007-01-31 08:40) [5]

...и так пробовал и так тоже. Попробую ещё.


 
AlexM ©   (2007-02-01 08:03) [6]

Я открыл твой плагин, сделал как в [4],сохранил,нажал Close All,опять открыл,нажал build all projects и заработало( "удалить форму"  появляется когда нажимаю кнопку на форме)


 
AlexM ©   (2007-02-01 09:10) [7]

TKolApplet можно и не ложить. Без него ,у меня работает тоже.


 
Моторокер   (2007-02-06 15:01) [8]

м-да вместо Build ptoject сделал Build all ptojects

заработало! спасибо! буду разбираться дальше


 
Моторокер   (2007-02-20 22:17) [9]

Всё работает как надо, но форма не модальная – Total Commander может получить фокус.


 
Моторокер   (2007-02-28 22:09) [10]

Нашёл – надо писать fm.Form.ShowModalEx вместо fm.Form.ShowModal;



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

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

Наверх




Память: 0.48 MB
Время: 0.021 c
3-1180579906
@dim
2007-05-31 06:51
2007.10.07
Блокировки в MS SQL


2-1189472253
Glivera
2007-09-11 04:57
2007.10.07
экземпляр формы


15-1189253128
OzoM
2007-09-08 16:05
2007.10.07
Срочно!!!


15-1189006519
С.Толик
2007-09-05 19:35
2007.10.07
Как (Кто сможет?) перевести данный код с Delphi на С++


2-1189589824
Darvin
2007-09-12 13:37
2007.10.07
Как сравнить два GUID?