[lazarus] Lazarus broken

Marc Weustink weus at quicknet.nl
Mon Feb 28 18:45:42 EST 2000


At 21:52 28-02-2000 +0100, you wrote:
>Hello,
>
>just wanted to do something tonight, checked out latest Lazarus, and it
>compiles, but if I run it the form goes away and hides.
>
>It looks like someone broke the form's measurement code. Could someone look
>into that and fix it (back)?

As I said the latest changes do some funny things with the main window. In 
my case the main form jumped to the bottom of my screen. It was still visible.


>Upon quick inspection I found that CM_SHOWINGCHANGED was added and that some
>portions code around these showing/hiding/resizing behavior was added. I
>looked at the new code and the following came to my mind :
>
>1. Why CM_SHOWINGCHANGED. It is totally useless, even in original Delphi (5)
>VCL - I double-checked that, and it looks like a remnant from older version.
>Just one more useless function in core class -> more bloat. Everything this
>function does can be accomplished in UpdateShowing virtual method (and in
>fact, is, just by performing this message).


To be compatible and for porting reasons I choose to implement 
CM_SHOWINGCHANGED. If it is completely useless, I don't know. I don't feel 
like to dig into it right now. The only thing I know was that the old code 
was broken. It didn't work when you wanted to create components when the 
parent component already was visible.

I think we better stay close to delphi since that is documented. If we all 
try to invent our own ways, we end up with only bits and pieces only one 
knows what is going on, hanging together like a heap of sand.


>2. This leads me to second question : Are we trying to copy the Borland VCL
>(and pray Borland does not take any legal action) or just do a better, more
>versatile, not Win32 centric, Borland compatible VCL? As I looked at the new
>code, it is just a plain copy & paste from the Borland VCL. This applies to a
>LOT of methods. In some, there is clearly no other way, but there is a lot of
>code which could have been done differently and it was not, just copy and
>paste.

For all Protected, Public, Published parts I say yes. That is the interface 
defined by the VCL. The private code is something we make up ourselves.

>3. If you make such changes that Lazarus won't run at least as it did (at the
>first glance), please think twice about commiting them. It is very 
>annoying to fix things that already worked instead of working out 
>unfinished parts of the project.

I only commit code when I checked it twice that everything works OK (Or at 
least that others still can work with it)

Marc








More information about the Lazarus mailing list