Thank you botch Norbert and Dimitry for your help problem was with fill method the method is to use move index [1] of string and casting or StrLCopy or simplest possible this one which does not require any casting:
StrPLCopy(outMessage.ss, s, High(outMessage.ss)) regards, Karol Bieniaszewski From: liviuslivius liviusliv...@poczta.onet.pl [firebird-support] Sent: Tuesday, May 15, 2018 11:19 AM To: firebird-support@yahoogroups.com Subject: Re: Re: [firebird-support] Re: Udr GenRows sample Pascal > It depends on information in IMessageMetadata. > > > I have tried: > > ss: Array[0..199] of Char; > > ss: Array[0..199] of Byte; > > ss: Array[0..199] of AnsiChar; > > This is a right declaration for CHAR(200). > OK > > ss: String[200]; > > > > with last string[200] i got result prefixed with size byte > > Because short strings in Delphi are prefixed with length byte. > > -- > WBR, SD. > Yes i know that i only "show" that with this declaration i got something but with all above i got empty string I will look into fill procedure maybe i miss something obvious regards, Karol Bieniaszewski