Вот такой вопрос ещё:
Функция должна передавать версию сервера (5 символов).
Код:
implementation
Function BVersion (comp: longint; vtxt: shortstring; var vlen: integer) : integer; stdcall; external '2.dll';
//------------
Function Version( var comp : longint; var vInf : string) : integer;
var
tmp : shortString;
n : Integer;
begin
result := BVersion(Comp, tmp, n);
If n > 0 Then
begin
vInf := ansimidstr(tmp,0, n); //ansileftstr(tmp, n);
end;
end;
В итоге переменная "
n" несёт в себе значение =5 ,
а переменная "
tmp" приносит только
'.1.3'#0#0#0.....
По какой причине пропущен первый символ? Эта же функция в бейсике возвращает
'6.1.3'.