Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > ScreenShotSaver Plugins


Автор: dvamaster 8.9.2004, 15:51
Ранее рассматривалась моя программа ScreenShotSaver.

http://forum.vingrad.ru/index.php?showtopic=25873

Многим показалось, что мало плагинов. sample.gif

Теперь предлагаю вашему вниманию SDK для плагинов.

Код
library SSSPlugin;

uses
 Windows,
 Messages;

{$E pss}

type
// Плагин отправляет данные
 PInitData_v1 = ^TInitData_v1;
 TInitData_v1 = record
   Version: DWord;                      // Версия плагина, всегда 0
   PluginName: array [0..1023] of Char; // Имя плагина (лучше длину строки (не массива) подобрать так, чтоб влезла в одну строку в диалоге настроек)
 end;

// Плагин получает данные
 PSaveData_v1 = ^TSaveData_v1;
 TSaveData_v1 = record
   FileName: array [0..1283] of Char; // Имя файла сохраняемых данных БЕЗ РАСШИРЕНИЯ И ТОЧКИ
   Data: HBITMAP;                     // Данные для сохранения
   Wnd: HWND;                         // Дескриптор основного диалога
 end;


{Обязательная функция}
function InitProc(InitData: PInitData_v1): Bool; stdcall;
begin
{  InitData^.Version := 0;
 InitData^.PluginName[0] := 'P';
 ...
 InitData^.PluginName[k] := #0;}
 Result := true
end;

{Обязательная функция}
function SaveProc(SaveData: PSaveData_v1): Bool; stdcall;
begin
 Result := true
end;

{Не обязательная функция}
// Wnd - Родительское окно
function OptionsProc(Wnd: HWND): Bool; stdcall;
begin
 Result := true
end;

{Не обязательная функция}
function DoneProc: Bool; stdcall;
begin
 Result := true
end;

exports
{Обязательная функция}
 InitProc,
{Обязательная функция}
 SaveProc,
{Не обязательная функция}
 DoneProc,
{Не обязательная функция}
 OptionsProc;

begin
end.


Жду вопросов.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)