On Thursday 24 February 2011 10:16:43 michael.vancann...@wisa.be wrote: > >> But here you implicitly assume that you have a fixed number of bytes per > >> character. You should always be explicit about such things, since this > >> is a non-trivial assumption. > > > > I don't understand. > > "tmsebufdataset stores string data as UnicodeString instead to use a fixed > record layout." > > If you say "fixed record layout", this means you assume that each character > uses the same amount of bytes, and that the size of the string is limited, > otherwise I fail to see how you can have fixed record layout. > I really should learn English, but I fear i am too old for the task... What I meant: Original tbufdataset uses a fixed record layout where for every stringfield memory is reserved to hold the maximum possible amount of bytes of the field. MSEgui tmsebufdataset has a fixed record layout too but stores a UnicodeString which actually is a pointer and uses sizeof(pointer) memory space in record layout. The string data fetched/posted from/to the database is converted from/to system encoding or utf-8 (can be selected with an option flag in the dataset or the connection component) to utf-16 while fetching/posting the data. Because MSEgui completely works with UnicodeString the users don't need to convert the DB-encoding.
Martin _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel