Возникла проблемма при возвращении блоба удфкой:
function str2blob(str:PChar; Blob: PIB_Blob):PIB_BLOB; cdecl; export;
begin
result:= Blob;
if not Assigned(Blob) or not Assigned(Blob^.Handle) then
Exit;
blob^.PutSegment(Blob^.Handle, str, StrLen(Str));
end;
Возвращает вместо введенной строки мусор, правда длинну строки соблюдает.... Компилилось на FPC 2.0.2 под винды... что не так? может кто сталкивался, подскажите...
UDF str2blob
Это то понятно... В случае с функцией, указатель на блоб возвращается через входной параметр, а не через стандартный вывод... При переводе на процедуру результат не поменялся...
procedure str2blob(str:PChar; Blob: PIB_Blob); cdecl; export;
begin
if not Assigned(Blob) or not Assigned(Blob^.Handle) then
Exit;
blob^.PutSegment(Blob^.Handle, str, StrLen(str));
end;
procedure str2blob(str:PChar; Blob: PIB_Blob); cdecl; export;
begin
if not Assigned(Blob) or not Assigned(Blob^.Handle) then
Exit;
blob^.PutSegment(Blob^.Handle, str, StrLen(str));
end;