Einzelnen Beitrag anzeigen

Saschko

Registriert seit: 4. Feb 2007
6 Beiträge
 
#3

Re: Firebird UDF unter Lazarus

  Alt 11. Nov 2009, 12:32
Das bedeutet das hier

Delphi-Quellcode:
function UpperChar(const p:PChar):PChar; cdecl;
{
DECLARE EXTERNAL FUNCTION UpperChar
CString(255)
RETURNS CString(255) FREE_IT
ENTRY_POINT 'UpperChar' MODULE_NAME 'MyUDF'
}

var s:string;
begin
  s:=STRING(p);
  s:=AnsiUpperCase(s);
  Result := ib_util_malloc(Length(s)+1);
  StrPCopy(Result, s);
end;
und das hier

Delphi-Quellcode:
function AddStr(const aChar1, aChar2, aChar3:PChar):Pchar;
cdecl;
{
DECLARE EXTERNAL FUNCTION AddStr
CString(50), CString(50), CString(1)
RETURNS CString(101) FREE_IT
ENTRY_POINT 'AddStr' MODULE_NAME 'MyUDF'
}

var s1, s2, s3,s4:String;
begin
  s1:=STRING(aChar1);
  s2:=STRING(aChar2);
  s3:=STRING(aChar3);
  s4:=s1+s3+s2;
  Result := ib_util_malloc(Length(s4)+1);
  StrPCopy(Result, s4);
end;
wäre eine gute Vorlage?

Geht das nicht auch anders, als mit ib_util_malloc ?

[edit=mkinzler]Code-Tags durch Delphi-Tags ersetzt Mfg, mkinzler[/edit]
  Mit Zitat antworten Zitat