Показать сообщение отдельно
  #3  
Старый 04.10.2013, 16:48
Smallboy Smallboy вне форума
Прохожий
 
Регистрация: 16.07.2013
Сообщения: 18
Версия Delphi: Delphi XE4
Репутация: 10
По умолчанию

Цитата:
Сообщение от lmikle
Не понятно, что тебе надо. Написать эту функцию или вызвать ее.
Если вызывать, то, видимо, что-то типа такого:
Код:
var
  PI : TPosInfo;
begin
  PI.Open := 0;
  GetMem(PI.SerNo,12+1);

  // Получаем адрес функции и т.п.
  If GetCfgData(PI) = 0 // 0 = success
    Then Result := StrPas(PI.SerNo) // Типа вернули результат
    Else Raise Exception.Create('Error');

  FreeMem(PI.SerNo,12+1);


Интересовало будет ли правильным описывать все вот так.
А так же как далее работать с SerNo. Я так понял через StrPas
И как реализовать min размер 12+1 байт. Размер может быть и больше 12+1.

Код:
TYPE
TPosInfo = record
    Open: Byte;
    SerNo: PChar;
end;

GetCfgData  : function(var Info: TPosInfo): Byte; stdcall;
...
Var
   ConfigData: TPosInfo;
...
begin
  GetMem ...
  Answer:= GetCfgData(ConfigData);
  FreeMem ...
...
end.
Ответить с цитированием