[lazarus] LCL, general issues

Stefan Hille stoppok at osibisa.ms.sub.org
Thu Jun 29 19:04:33 EDT 2000


seems as if I'll have some more time to focus on lazarus the next weeks and
thus started to review some of the code already present. Here're some 

 - Some source files are messed up with writeln's and assert statements
   and sometimes contain redundant code. gtkobject.inc is a good example for
   this and it must be very hard for new developers to understand what's
   going on. I'd recommend to do a major cleanup. If nobody has anything
   against it I'll start with this saturday.
   One question: Few weeks ago there have been some mails about asserst
                 versus writeln. I'd prefer to only use asserts so are
		 there any writeln's that should be protected?

 - What kind of strategy shall we use for error-handling? Currently some
   classes throw exceptions, others use asserts or use default values
   when something illegal is done (e.g. some index out of range).

 - Currently gtk complains a lot about font-stuff and missing pixmaps. Does
   anybody know the reason? From my point of view it's very important to fix 
   this because people new to lazarus might get a bad feeling about the
   project in general. BTW: Most examples will crash when they are closed.
   Whats the reason for that? (I can't trace into it because the debugger
   also hangs when it happens:-(( 

 - Currently we use lot's of casts and if-statements to determine the
   componentstyle for different classes. The reason for this is that the
   fcomponentstyle member is not in a a common baseclass (TComponent could 
   be a good choice but it's in fcl). Should we introduce a new class
   (derived from TComponent) which contains fcomponentstyle and will be the 
   base for all lcl classes?
   (This class could possibly also get the members "Fenabled" and "Handle"
   but I'm not absolutely sure about that right now)
Thats all for now,

Stefan Hille          email: stoppok at osibisa.ms.sub.org 
48155 Muenster	      voice: 0251/664695 

More information about the Lazarus mailing list