> While trying to export dataset data to XML, I use this for > ftGUID fields: > > FNode := > Foutputdoc.CreateTextNode(Utf8decode(GUIDToString(TGuid(EF.Fie > ld.Value)))); > > This works on Windows 32 and shows a hex representation of > the GUID, like {00000000-0000-0000-C000-000000000046} > > On Linux x64, I get: "Illegal type conversion: "Variant" to "TGuid"" > > I then tried something like: > FNode := > Foutputdoc.CreateTextNode(Utf8decode(EF.Field.DisplayText)); > However, this just output the GUID as a number (e.g. 42) > > 1. Is the conversion error I got due to the use of a 64 bit > compiler? How can I fix it? (e.g. use EF.Field.AsLargeint - > but that has 64 bits, not the the 128 bits present in a GUID) > > 2. Is the behaviour of .DisplayText correct for ftGUID > variables - shouldn't it use GUIDToString to output the hex value? > > Thanks, > Reinier
TGuidField stores guid in the string format (GuidToString). EF.Field.AsString should give you the correct string value. Ludo _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal