Subject Re[2]: [firebird-support] Re: Delphi UDF with PChar
Author Pavel Menshchikov
T> Length(InputString), I think, will always return "4" -> that is the
MT> length of the pointer.Try StrLen instead.

And don't forget about cdecl for the function.

>> > > I'm having trouble writing a UDF in Delphi that returns a
>> > > PChar. This is a simple example of what I'm trying to do:
>> > >
>> > > function test(InputString: PChar): PChar; begin
>> > > result := StrAlloc(Length(InputString));
>> > > StrCopy(result, InputString);
>> > > // Presumably the StrAlloc will be freed by the UDF's FREE IT???
>> > > end;
>> >
>> > Shouldn't you use IBMalloc (or similar name) function to allocate
>> memory
>> > instead of StrAlloc?



--
Best regards,
Pavel Menshchikov
http://www.ls-software.com