XprogTemplate

Автор: | 12.08.2018

По поводу вот этого www.eldb.eu/index.php?route=information/infocategory&path=15
Написал модуль-шаблон, что бы постоянно не писать одно и тоже, может кому пригодиться
yadi.sk/d/HryE56cV3a9XUb

Там собсно только одна функция

function GetData(const param_buffer, param_calc: string; var file_size, sel_start, sel_end: Cardinal; res_mode: Cardinal): Pointer;

Пример использования:

procedure TForm1.FormCreate(Sender: TObject);
begin
 // Проверяем что программу запустили с правильными параметрами
 // Если нет то сообщаем об этом и выходим
  if (ParamStr(1)  'xprog_buffer') or (ParamStr(2)  'calc_result') then
  begin
    ShowMessage('Parameters Error');
    Halt(0);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  Share_File: PByteArray;
  File_Size, Sel_Start, Sel_End: Cardinal;
begin
  try
    { Собсно сам вызов функции, где
    ParamStr(1), ParamStr(2) - передаваемые икспрогом параметры
    File_Size - возвращаемое значение о размере буфера(то есть того дампа что был загружен в икспрог)
    Sel_Start, Sel_End - возвращаемые значения начала и конца выделение, если конечно в икспроге было выделено
    0 - возвращаемый результат икспрогу. 0 = вернуть данные(буфер) в то же самое окно, 1 = Создать новое, 2 = ничего не делать
    Share_File - это как раз буфер(дамп) который передал икспрог 
	}
    Share_File := GetData(ParamStr(1), ParamStr(2), File_Size, Sel_Start, Sel_End, 0);
	// Теперь можно делать с этим буфером(дампом) что угодно 
	// К примеру просто заполняем весь дамп FF
    FillMemory(Share_File, File_Size, $FF);
  except
    on E: Exception do
      ShowMessage(E.Message);
  end;
  //  Закрываем програму, после закрытия управление передается икспрогу.
  Close;
end;
1

XprogTemplate: 1 комментарий

Добавить комментарий

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.