Главная страница
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.026 c
1-1183370769
Krants
2007-07-02 14:06
2007.10.07
ToolsApi в своих приложениях


3-1180553431
Цукор5
2007-05-30 23:30
2007.10.07
IbExpert


2-1189590604
Emelinn
2007-09-12 13:50
2007.10.07
Cоединение с MS SQL server


2-1189326951
Jimmy
2007-09-09 12:35
2007.10.07
Refresh собственного компонента при изменении свойства


2-1189150666
Slawa
2007-09-07 11:37
2007.10.07
Зарегестрированные пользователи в БД FireBird