Hi,
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 observations:
- 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
