[fpc-devel] Re: cvarutil: convert variant array of bytes into ansistring ?

2011-10-24 Thread LacaK

Hi Sergei,
Thank you for your reply.
As it is out of my comfort zone, I leave it to up to you (if or when you 
implement this)
TIA
-Laco.

It has to be done in a different and more complex way, by using VariantChangeTypeEx to convert the 
variant(array) to varOleString type, then converting latter to ansistring.
This way, in Windows the job will be delegated to OS, which is Delphi compatible. For non-Windows, 
the relevant code ends up in VariantChangeTypeEx (varutils.inc).
Also, you'll need to access the variant array with SafeArray* functions, and make checks that it is 
actually one-dimensional and its element type is eligible for conversion.



Sergei



Hi,
I am now working on fcl-db TBinaryField, which has Value: Variant 
property.
As I understand documentation, this variant should be returned as 
variant array of bytes.


Later when are assigning values of fields into params also this 
variant array is copied (into TParam).


But when I want/need read parameter value as string (binary string) 
then variant convert error occurs.
It is because in cvarutil.inc in Function VariantToAnsiString(const 
VargSrc : TVarData) is not supported conversion from variant array 
into string.


So my question is if it is acceptable to add there support for 
converting byte array to string ?

Something like attached diff.

Please let me know, if this can be accepted/applied ?
Thanks
-Laco.

___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] [iconv][glibc] function iconvctl not found.

2011-10-24 Thread Jonas Maebe


On 24 Oct 2011, at 04:00, Paul Ishenin wrote:

I tried to handle the situation by using LoadLibrary, GetProcAddress  
and also failed on osx.


The next line tries to load iconv.dylib while on osx the library  
name is /usr/lib/libiconv.dylib:


iconvlib:=LoadLibrary(libiconvname+'.'+SharedSuffix);

Now I don't understand how it works with the static linking if  
libiconvname variable is iconv?


The compiler automatically adds the lib prefix and the sharedsuffix  
in case of external declarations (and additionally, on Mac OS X the  
library name in external declarations is not even used, only the  
{$libklib xxx} directive matters -- but there the compiler performs  
the same transformations of the library name).



Jonas
___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel