Главная страница
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.018 c
3-1180427313
Sergdead
2007-05-29 12:28
2007.10.07
Delphi+Access (DateTime)


2-1189486797
no_name
2007-09-11 08:59
2007.10.07
Как поместить созданный мной компонент в список ActiveX


2-1189551849
Змей
2007-09-12 03:04
2007.10.07
Baloon Hint


15-1189400391
boriskb
2007-09-10 08:59
2007.10.07
85 правил русского языка


15-1189166684
Kerk
2007-09-07 16:04
2007.10.07
Какнить можно в винде кэш DNS сбросить?