Copy of the Free Pascal Classes unit, modified for MSEgui
uses |
System, |
classes, |
typinfo, |
sysutils, |
Copy of the Free Pascal Classes unit, modified for MSEgui. It declares its own versions of the basic classes, under the same names as in Classes: tpersistent, tcomponent, tcollection, tstream, tfilestream, tmemorystream, tfiler, treader, twriter, tstrings, tstringlist, etc. These are distinct types, not aliases: for example, mclasses.tstream does not descend from classes.TStream. Some simple types, such as TValueType, are reused from Classes.
Many MSEgui units are based on these classes, for example the streams of msestream, the text/binary form conversion of mseobjecttext and the components of mseclasses. A unit or program using them must therefore put mclasses after classes in its uses clause, since the last unit listed wins when two units declare the same identifier. Otherwise, the compiler reports errors such as Incompatible type for arg no. 2: Got "TMemoryStream", expected "tstream". A type of the original unit can still be used by qualifying it, e.g. classes.TStringList. Objects of the two hierarchies must not be mixed: a classes.TMemoryStream is not an mclasses.tstream.