Re: [lazarus] Bug 2011: fsStayOnTop hides modal dialogs
Christian Budde wrote: +function GetTopMostWindows(Handle: HWND; Info: LongInt): BOOL; stdcall; Shouldn't that be PtrInt for 64 bit compatibility ? +begin + Result := True; + if GetWindow(Handle, GW_OWNER) = PTopMostEnumInfo(Info)^.W32Widget.AppHandle then W32Widget does not need to be in that Info, TWin32WidgetSet(WidgetSet) is global, and exists only once. +if (GetWindowLong(Handle, GWL_EXSTYLE) and WS_EX_TOPMOST 0) and + (PTopMostEnumInfo(Info)^.IncludeMain {or (Application.MainForm = nil) or + (Handle Application.MainForm.Handle)}) then + PTopMostEnumInfo(Info)^.W32Widget.FTopMostList.Add(Pointer(Handle)) Why not put the list in PTopMostEnumInfo(Info) ? +else +begin + PTopMostEnumInfo(Info)^.TopWindow := Handle; + Result := False; Why these two lines ? +if GetWindowLong(Info.TopWindow, GWL_EXSTYLE) and WS_EX_TOPMOST 0 then + Info.TopWindow := HWND_NOTOPMOST; +for I := FTopMostList.Count - 1 downto 0 do Why reverse order ? Micha _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] True fullscreen mode
Hi all, I am facing an interesting challenge - I don't know if lazarus CAN do what I want, if not I suppose I shall have to write an extra plugin using plain fpc+sdl - though I would VERY much prefer not to have to. What I need is a way to do a TRUE fullscreen mode form. Specifically this form should make it IMPOSSIBLE to get to the desktop behind it until it's closed. It should capture the keyboard ENTIRELY so that Alt+Tab won't work - and cover up all icons, taskbars etc. Now my first thought was: Set : BorderStyle = BsNone Set Window size to equal screen resolution (I have a component to get that in a platform independent way). Troubles: Under linux - the window manager typically will prevent you from covering taskbars (at least under KDE) - and e.g. your form will appear maximised but not fully cover the screen. I still haven't COMPLETELY caught the keyboard. Now possibly fsStayOnTop might help here ? Will it set the needed windowmanager hints to allow a form to cover taskbars under Linux ? Can this be done ? Perhaps through a call to form.handle with a direct GTK function (obviously the windows version will be something else - what would that be ?) Basically I don't know if lazarus CAN do what I need for this part... and before I can finalize design, I need to know if this will be a form inside the app or a sepperate program altogether acting as a plugin. TIA A.J. -- 80% Of a hardware engineer's job is application of the uncertainty principle. 80% of a software engineer's job is pretending this isn't so. A.J. Venter Chief Software Architect OpenLab International http://www.getopenlab.com | +27 83 455 99 78 (South Africa) http://www.silentcoder.co.za| +55 118 162 2079 (Brazil) pgpITnRtEI6Sm.pgp Description: PGP signature
Re: [lazarus] True fullscreen mode
On Wed, 9 Aug 2006, A.J. Venter wrote: Hi all, I am facing an interesting challenge - I don't know if lazarus CAN do what I want, if not I suppose I shall have to write an extra plugin using plain fpc+sdl - though I would VERY much prefer not to have to. What I need is a way to do a TRUE fullscreen mode form. Specifically this form should make it IMPOSSIBLE to get to the desktop behind it until it's closed. It should capture the keyboard ENTIRELY so that Alt+Tab won't work - and cover up all icons, taskbars etc. Now my first thought was: Set : BorderStyle = BsNone Set Window size to equal screen resolution (I have a component to get that in a platform independent way). Troubles: Under linux - the window manager typically will prevent you from covering taskbars (at least under KDE) - and e.g. your form will appear maximised but not fully cover the screen. I still haven't COMPLETELY caught the keyboard. Now possibly fsStayOnTop might help here ? Will it set the needed windowmanager hints to allow a form to cover taskbars under Linux ? Can this be done ? Perhaps through a call to form.handle with a direct GTK function (obviously the windows version will be something else - what would that be ?) Basically I don't know if lazarus CAN do what I need for this part... and before I can finalize design, I need to know if this will be a form inside the app or a sepperate program altogether acting as a plugin. I'm not sure that X/The Window manager can do what you want ? This is not a Lazarus matter alone. Michael. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] True fullscreen mode
Michael Van Canneyt wrote: What I need is a way to do a TRUE fullscreen mode form. Specifically this form should make it IMPOSSIBLE to get to the desktop behind it until it's closed. It should capture the keyboard ENTIRELY so that Alt+Tab won't work - and cover up all icons, taskbars etc. I think this impossible even under windows ? Alt+Tab and some other shortcuts, Ctrl+Alt+Del, Ctrl+Shift+Escape always work AFAIK. Reboot the system into your own OS ;-). Micha _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] True fullscreen mode
Basically I don't know if lazarus CAN do what I need for this part... and before I can finalize design, I need to know if this will be a form inside the app or a sepperate program altogether acting as a plugin. I'm not sure that X/The Window manager can do what you want ? This is not a Lazarus matter alone. That part at least I CAN answer. It can, there is a wm hint for this. The reason I know is that I have done it before. If you use SDL and create your screen with OR SDL_FullScreen it does exactly that . The real question is if you can do this in lazarus - I am pretty sure GTK ALSO has a function for it (not ABSOLUTELY sure in this case though). I used the SDL plugin mechanism in direqcafe up to and including version 3.x - as I am starting on version 4.0 (with new name zycafe) I would LIKE if possible to do that WITHOUT the SDL dependency though. In theory somebody with sufficient knowledge of C and xlib should be able to figure out how it's done by looking at the SDL code, and possibly implementing something like an fs_FullScreen or perhaps a TFullScreen component based on it (e.g. a nonvisual component you can drop on a form to make the form fullscreen which also lets you set parameters like 'grab keyboard' or such) ? For windows the sheer AMOUNT of existing full-screen apps suggest there is a almost certainly a win32 API call for it. I won't lie and pretend I am good enough at C and Xlib to do it by myself (I could but I don't have the TIME for all the research I would need to do first) but if anybody else would have a use for such a function, we could work together on it. I have done some xlib work in lazarus before TScreenSize uses it under Linux. Either way - the consensus seems to be that lazarus cannot do it at present ? A.J. -- 80% Of a hardware engineer's job is application of the uncertainty principle. 80% of a software engineer's job is pretending this isn't so. A.J. Venter Chief Software Architect OpenLab International http://www.getopenlab.com | +27 83 455 99 78 (South Africa) http://www.silentcoder.co.za| +55 118 162 2079 (Brazil) pgpySaARTBlue.pgp Description: PGP signature
Re: [lazarus] About including ressource manager in lazarus
On Wed, 9 Aug 2006, Mattias Gaertner wrote: On Tue, 8 Aug 2006 17:07:42 -0400 Alexandre Leclerc [EMAIL PROTECTED] wrote: As posted on another thread: http://www.lazarus-resource.com/resource-manager.shtml I see that this little application is doing exactly what is missing for an easy RAD way to configure Win32 applications. Now I know that this is not the same under all OS. But I see no major reasons not to include this piece of code directly inside Project - Project Options. The same information could be used in other projects; like on linux. .desktop files could be created with information about where to find the icon, program information, etc. This is not because Windows is the only OS that put it all in the same file that we can't do nothing about it on other OS. In fact, Free Pascal suppprts including Windows resources in the binary on all ELF platforms (e.g. linux). The fpcres program does exactly that. {$R somefile.res} will include the resource file in the binary. This feature is enabled even in the fixes branch. In fact, Lazarus could switch now to using this for including form files. This would drastically reduce the memory requirements of all Lazarus applications. The same information can generate lazarus ressources that could be use in the application or to generate external files / setup scripts, etc. so that we could help the developpers to create later on kind of setup tools to copy the icons at the good place based on the OS/GUI used... Just my idea. What other think about that? A resource manager for the IDE is a good idea. Why not create a designtime package for it? If you need help, don't hesitate to ask. If it eventually is mature enough and works on all platforms it could be added to the IDE directly. It should at least be able to create simple bitmaps for icons and so on; A string editor would also be good. Michael. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
Michael Van Canneyt schreef: On Wed, 9 Aug 2006, Mattias Gaertner wrote: On Tue, 8 Aug 2006 17:07:42 -0400 Alexandre Leclerc [EMAIL PROTECTED] wrote: As posted on another thread: http://www.lazarus-resource.com/resource-manager.shtml I see that this little application is doing exactly what is missing for an easy RAD way to configure Win32 applications. Now I know that this is not the same under all OS. But I see no major reasons not to include this piece of code directly inside Project - Project Options. The same information could be used in other projects; like on linux. .desktop files could be created with information about where to find the icon, program information, etc. This is not because Windows is the only OS that put it all in the same file that we can't do nothing about it on other OS. In fact, Free Pascal suppprts including Windows resources in the binary on all ELF platforms (e.g. linux). The fpcres program does exactly that. {$R somefile.res} will include the resource file in the binary. This feature is enabled even in the fixes branch. In fact, Lazarus could switch now to using this for including form files. This would drastically reduce the memory requirements of all Lazarus applications. Except for macosx... Vincent _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
will include the resource file in the binary. This feature is enabled even in the fixes branch. In fact, Lazarus could switch now to using this for including form files. This would drastically reduce the memory requirements of all Lazarus applications. Hang on a second... you're saying that a switch we CAN make could greatly reduce memory requirements and if I understand right, could do so in a (mostly) platform neutral way ? I for one would GREATLY support such an endeavour, memory requirements is currently a case where lazarus really lags a bit behind alternatives. I am not so concerned about binary-sizes - but for my customers, memory tends to be a prescious thing. A.J. -- 80% Of a hardware engineer's job is application of the uncertainty principle. 80% of a software engineer's job is pretending this isn't so. A.J. Venter Chief Software Architect OpenLab International http://www.getopenlab.com | +27 83 455 99 78 (South Africa) http://www.silentcoder.co.za| +55 118 162 2079 (Brazil) pgpwGOCFvvvtW.pgp Description: PGP signature
Re: [lazarus] About including ressource manager in lazarus
Vincent Snijders wrote: Michael Van Canneyt schreef: On Wed, 9 Aug 2006, Mattias Gaertner wrote: On Tue, 8 Aug 2006 17:07:42 -0400 Alexandre Leclerc [EMAIL PROTECTED] wrote: As posted on another thread: http://www.lazarus-resource.com/resource-manager.shtml I see that this little application is doing exactly what is missing for an easy RAD way to configure Win32 applications. Now I know that this is not the same under all OS. But I see no major reasons not to include this piece of code directly inside Project - Project Options. The same information could be used in other projects; like on linux. .desktop files could be created with information about where to find the icon, program information, etc. This is not because Windows is the only OS that put it all in the same file that we can't do nothing about it on other OS. In fact, Free Pascal suppprts including Windows resources in the binary on all ELF platforms (e.g. linux). The fpcres program does exactly that. {$R somefile.res} will include the resource file in the binary. This feature is enabled even in the fixes branch. In fact, Lazarus could switch now to using this for including form files. This would drastically reduce the memory requirements of all Lazarus applications. Except for macosx... I think for macosx/gtk we still can use the current solution, for all others we can use real resources. Marc _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
Michael Van Canneyt schreef: In fact, Free Pascal suppprts including Windows resources in the binary on all ELF platforms (e.g. linux). The fpcres program does exactly that. {$R somefile.res} will include the resource file in the binary. This feature is enabled even in the fixes branch. In fact, Lazarus could switch now to using this for including form files. This would drastically reduce the memory requirements of all Lazarus applications. How does using Windows resources reduce memory requirements? Vincent _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
On Wed, 9 Aug 2006 11:02:39 +0200 A.J. Venter [EMAIL PROTECTED] wrote: will include the resource file in the binary. This feature is enabled even in the fixes branch. In fact, Lazarus could switch now to using this for including form files. This would drastically reduce the memory requirements of all Lazarus applications. Hang on a second... you're saying that a switch we CAN make could greatly reduce memory requirements and if I understand right, could do so in a (mostly) platform neutral way ? Yes, it will save some memory. IMO the word 'drastically' might be a little bit overzealous. For example the IDE with 95 forms would save 1.3mb. I for one would GREATLY support such an endeavour, memory requirements is currently a case where lazarus really lags a bit behind alternatives. I am not so concerned about binary-sizes - but for my customers, memory tends to be a prescious thing. Eventually it will be used. Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
On Wed, 9 Aug 2006, Vincent Snijders wrote: Michael Van Canneyt schreef: In fact, Free Pascal suppprts including Windows resources in the binary on all ELF platforms (e.g. linux). The fpcres program does exactly that. {$R somefile.res} will include the resource file in the binary. This feature is enabled even in the fixes branch. In fact, Lazarus could switch now to using this for including form files. This would drastically reduce the memory requirements of all Lazarus applications. How does using Windows resources reduce memory requirements? Now you have ALL the forms stored in strings in heap memory (with all the overhead that implies), as well as in the binary. Thus, they are in memory twice. Storing them in the resources would mean they are stored only in the binary. Michael. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
On Wed, 9 Aug 2006, A.J. Venter wrote: will include the resource file in the binary. This feature is enabled even in the fixes branch. In fact, Lazarus could switch now to using this for including form files. This would drastically reduce the memory requirements of all Lazarus applications. Hang on a second... you're saying that a switch we CAN make could greatly reduce memory requirements and if I understand right, could do so in a (mostly) platform neutral way ? Yes. I for one would GREATLY support such an endeavour, memory requirements is currently a case where lazarus really lags a bit behind alternatives. I am not so concerned about binary-sizes - but for my customers, memory tends to be a prescious thing. It seems that the only thing stopping this is 1. Mac OS support. 2. The actual IDE support for it. This would include a transformation routine to switch from one form to the other. Michael. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
On Wed, 9 Aug 2006, Mattias Gaertner wrote: On Wed, 9 Aug 2006 11:02:39 +0200 A.J. Venter [EMAIL PROTECTED] wrote: will include the resource file in the binary. This feature is enabled even in the fixes branch. In fact, Lazarus could switch now to using this for including form files. This would drastically reduce the memory requirements of all Lazarus applications. Hang on a second... you're saying that a switch we CAN make could greatly reduce memory requirements and if I understand right, could do so in a (mostly) platform neutral way ? Yes, it will save some memory. IMO the word 'drastically' might be a little bit overzealous. Hey, I wanted only to make a case for this, there is no need to torpedo my efforts with numbers ;-) Seriously; Roughly said, It's about the size of the resource (.lfm) files, plus some additional structures maintained by Lazarus. This should give you a rough estimate of how much memory you would save. Michael. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
On Wed, 9 Aug 2006, Marc Weustink wrote: Vincent Snijders wrote: Michael Van Canneyt schreef: On Wed, 9 Aug 2006, Mattias Gaertner wrote: On Tue, 8 Aug 2006 17:07:42 -0400 Alexandre Leclerc [EMAIL PROTECTED] wrote: As posted on another thread: http://www.lazarus-resource.com/resource-manager.shtml I see that this little application is doing exactly what is missing for an easy RAD way to configure Win32 applications. Now I know that this is not the same under all OS. But I see no major reasons not to include this piece of code directly inside Project - Project Options. The same information could be used in other projects; like on linux. .desktop files could be created with information about where to find the icon, program information, etc. This is not because Windows is the only OS that put it all in the same file that we can't do nothing about it on other OS. In fact, Free Pascal suppprts including Windows resources in the binary on all ELF platforms (e.g. linux). The fpcres program does exactly that. {$R somefile.res} will include the resource file in the binary. This feature is enabled even in the fixes branch. In fact, Lazarus could switch now to using this for including form files. This would drastically reduce the memory requirements of all Lazarus applications. Except for macosx... I think for macosx/gtk we still can use the current solution, for all others we can use real resources. The only reason it works for ELF only is because the implementor didn't have time to implement it for mac. It's quite easy, all you need to do is create some correct binary file with some FPC specific sections in it. That's it. Anyone with knowledge of the mac binary file specs could do it in less than 2 days. Obviously, for windows there is no problem at all. Michael. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
Michael Van Canneyt schreef: On Wed, 9 Aug 2006, Vincent Snijders wrote: Michael Van Canneyt schreef: In fact, Free Pascal suppprts including Windows resources in the binary on all ELF platforms (e.g. linux). The fpcres program does exactly that. {$R somefile.res} will include the resource file in the binary. This feature is enabled even in the fixes branch. In fact, Lazarus could switch now to using this for including form files. This would drastically reduce the memory requirements of all Lazarus applications. How does using Windows resources reduce memory requirements? Now you have ALL the forms stored in strings in heap memory (with all the overhead that implies), as well as in the binary. Thus, they are in memory twice. Storing them in the resources would mean they are stored only in the binary. Thanks for the explanation, Marc, Mattias and Michael. So the executable size will be the same (maybe slightly (negligible) bigger, because string constants can be stored without lookup tables in the binary and a resources might need some lookup tables). But the memory use is smaller, because the constants don't have to be loaded into memory. Sounds attractive. Vincent _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
Thanks for the explanation, Marc, Mattias and Michael. So the executable size will be the same (maybe slightly (negligible) bigger, because string constants can be stored without lookup tables in the binary and a resources might need some lookup tables). But the memory use is smaller, because the constants don't have to be loaded into memory. Sounds attractive. Sounds VERY attractive, meg-for-meg diskspace is MUCH cheaper than RAM. A.J. -- 80% Of a hardware engineer's job is application of the uncertainty principle. 80% of a software engineer's job is pretending this isn't so. A.J. Venter Chief Software Architect OpenLab International http://www.getopenlab.com | +27 83 455 99 78 (South Africa) http://www.silentcoder.co.za| +55 118 162 2079 (Brazil) pgpTmEerzzpiz.pgp Description: PGP signature
Re: RES: [lazarus] win32 program icon
Oh my hat! Thank you Henrique, I didn't know such a website exists. (Feels like an idiot, again) Regards Ewald _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
On Wed, 9 Aug 2006 12:21:06 +0200 (CEST) Michael Van Canneyt [EMAIL PROTECTED] wrote: On Wed, 9 Aug 2006, Mattias Gaertner wrote: On Wed, 9 Aug 2006 11:02:39 +0200 A.J. Venter [EMAIL PROTECTED] wrote: will include the resource file in the binary. This feature is enabled even in the fixes branch. In fact, Lazarus could switch now to using this for including form files. This would drastically reduce the memory requirements of all Lazarus applications. Hang on a second... you're saying that a switch we CAN make could greatly reduce memory requirements and if I understand right, could do so in a (mostly) platform neutral way ? Yes, it will save some memory. IMO the word 'drastically' might be a little bit overzealous. Hey, I wanted only to make a case for this, there is no need to torpedo my efforts with numbers ;-) :) Sorry. I will try to fix this: Applications with big pictures in the forms can drastically save memory. Seriously; Roughly said, It's about the size of the resource (.lfm) files, plus some additional structures maintained by Lazarus. This should give you a rough estimate of how much memory you would save. And divide that by two. The .lfm saves binary data as hexadecimals. The additional structures maintained by Lazarus are about ~50 bytes per form. For the IDE they make 2% of the 1,3mb. Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Bug 2011: fsStayOnTop hides modal dialogs
Hello Micha, Today is day 3 of my LCL experience, so sorry about all the issues. Now that you are assigned to the bug I think it should be fixed quite fast. +function GetTopMostWindows(Handle: HWND; Info: LongInt): BOOL; stdcall; Shouldn't that be PtrInt for 64 bit compatibility ? Om, I only have Win32 here on my desktop and I haven't got any experience with x64. Short explanation please. +begin + Result := True; + if GetWindow(Handle, GW_OWNER) = PTopMostEnumInfo(Info)^.W32Widget.AppHandle then W32Widget does not need to be in that Info, TWin32WidgetSet(WidgetSet) is global, and exists only once. Ok, I didn't know that. Then it's just like with Delphi. There exists a global instance of TApplication as well. +if (GetWindowLong(Handle, GWL_EXSTYLE) and WS_EX_TOPMOST 0) and + (PTopMostEnumInfo(Info)^.IncludeMain {or (Application.MainForm = nil) or + (Handle Application.MainForm.Handle)}) then + PTopMostEnumInfo(Info)^.W32Widget.FTopMostList.Add(Pointer(Handle)) Why not put the list in PTopMostEnumInfo(Info) ? Good idea. +else +begin + PTopMostEnumInfo(Info)^.TopWindow := Handle; + Result := False; Why these two lines ? A similar passage was there in the VCL code and I thought that it must make any sense, but in fact I don't know. +if GetWindowLong(Info.TopWindow, GWL_EXSTYLE) and WS_EX_TOPMOST 0 then + Info.TopWindow := HWND_NOTOPMOST; +for I := FTopMostList.Count - 1 downto 0 do Why reverse order ? Same reason as above. But know that I think about it, it makes more sense if it is reversed. Thanks for doing the final steps, Christian
Re: [lazarus] Bug 2011: fsStayOnTop hides modal dialogs
Christian Budde schreef: Hello Micha, Today is day 3 of my LCL experience, so sorry about all the issues. Now that you are assigned to the bug I think it should be fixed quite fast. I assigned it to Micha, so he could review your patches. Vincent _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Bug 2011: fsStayOnTop hides modal dialogs
isn't looking to the VCL code illegal (copyright and stuff?)On 8/9/06, Christian Budde [EMAIL PROTECTED] wrote: Hello Micha, Today is day 3 of my LCL experience, so sorry about all the issues. Now that you are assigned to the bug I think it should be fixed quite fast. +function GetTopMostWindows(Handle: HWND; Info: LongInt): BOOL; stdcall; Shouldn't that be PtrInt for 64 bit compatibility ? Om, I only have Win32 here on my desktop and I haven't got any experience with x64. Short explanation please. +begin+ Result := True;+ if GetWindow(Handle, GW_OWNER) = PTopMostEnumInfo(Info)^.W32Widget.AppHandle then W32Widget does not need to be in that Info, TWin32WidgetSet(WidgetSet)is global, and exists only once. Ok, I didn't know that. Then it's just like with Delphi. There exists a global instance of TApplication as well. +if (GetWindowLong(Handle, GWL_EXSTYLE) and WS_EX_TOPMOST 0) and+ (PTopMostEnumInfo(Info)^.IncludeMain {or (Application.MainForm = nil) or+ (Handle Application.MainForm.Handle )}) then+ PTopMostEnumInfo(Info)^.W32Widget.FTopMostList.Add(Pointer(Handle)) Why not put the list in PTopMostEnumInfo(Info) ? Good idea. +else+begin+ PTopMostEnumInfo(Info)^.TopWindow := Handle;+ Result := False; Why these two lines ? A similar passage was there in the VCL code and I thought that it must make any sense, but in fact I don't know. +if GetWindowLong(Info.TopWindow, GWL_EXSTYLE) and WS_EX_TOPMOST 0 then+ Info.TopWindow := HWND_NOTOPMOST;+for I := FTopMostList.Count - 1 downto 0 do Why reverse order ? Same reason as above. But know that I think about it, it makes more sense if it is reversed. Thanks for doing the final steps, Christian -- Who is not using the Fox Of Fire is not surfing the web, he is suffering itRegisterd Linux User # 389298
Re: [lazarus] Bug 2011: fsStayOnTop hides modal dialogs
Christian Budde wrote: Hello Micha, + PTopMostEnumInfo(Info)^.TopWindow := Handle; + Result := False; Why these two lines ? A similar passage was there in the VCL code and I thought that it must make any sense, but in fact I don't know. Copying code from VCL directly makes it unacceptable for entry in the LCL. We need original code. Micha _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Bug 2011: fsStayOnTop hides modal dialogs
On Wed, 9 Aug 2006 13:28:06 +0200 Nathan Samson [EMAIL PROTECTED] wrote: isn't looking to the VCL code illegal (copyright and stuff?) Looking not yet. Copying is. And copying without knowing what the code does is dangerous. Mattias On 8/9/06, Christian Budde [EMAIL PROTECTED] wrote: Hello Micha, Today is day 3 of my LCL experience, so sorry about all the issues. Now that you are assigned to the bug I think it should be fixed quite fast. +function GetTopMostWindows(Handle: HWND; Info: LongInt): BOOL; stdcall; Shouldn't that be PtrInt for 64 bit compatibility ? Om, I only have Win32 here on my desktop and I haven't got any experience with x64. Short explanation please. +begin + Result := True; + if GetWindow(Handle, GW_OWNER) = PTopMostEnumInfo(Info)^.W32Widget.AppHandle then W32Widget does not need to be in that Info, TWin32WidgetSet(WidgetSet) is global, and exists only once. Ok, I didn't know that. Then it's just like with Delphi. There exists a global instance of TApplication as well. +if (GetWindowLong(Handle, GWL_EXSTYLE) and WS_EX_TOPMOST 0) and + (PTopMostEnumInfo(Info)^.IncludeMain {or (Application.MainForm = nil) or + (Handle Application.MainForm.Handle)}) then + PTopMostEnumInfo(Info)^.W32Widget.FTopMostList.Add(Pointer(Handle)) Why not put the list in PTopMostEnumInfo(Info) ? Good idea. +else +begin + PTopMostEnumInfo(Info)^.TopWindow := Handle; + Result := False; Why these two lines ? A similar passage was there in the VCL code and I thought that it must make any sense, but in fact I don't know. +if GetWindowLong(Info.TopWindow, GWL_EXSTYLE) and WS_EX_TOPMOST 0 then + Info.TopWindow := HWND_NOTOPMOST; +for I := FTopMostList.Count - 1 downto 0 do Why reverse order ? Same reason as above. But know that I think about it, it makes more sense if it is reversed. Thanks for doing the final steps, Christian _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Bug 2011: fsStayOnTop hides modal dialogs
Mattias Gaertner schrieb: isn't looking to the VCL code illegal (copyright and stuff?) Looking not yet. Copying is. And copying without knowing what the code does is dangerous. Sorry about that. I think I you should rewrite my code without the knowledge, now that there exists a solution. I won't follow this way anymore, but for learning/understanding LCL it was a good practice, but now that I know that it is illegal (I havn't thought about that), I'd better not have a look at the VCL code anymore. Christian
Re: [lazarus] Turbo explorer
Luis R. Hilario B. wrote: Hello, CUPERTINO, Calif. — August 8, 2006 — Today, the Developer Tools Group of Borland Software Corporation (NASDAQ: BORL) announced plans to release single language versions of Borland Developer Studio, the company's development environment for Microsoft(r) Windows(r) and .NET applications. Bringing back the popular Turbo™ moniker, the new Borland Turbo products offer low-cost, language-specific rapid application development capabilities for students, hobbyist developers, occupational developers as well as individual professionals. http://www.turboexplorer.com/ What do you think? they're back to do it again? Nothing beats OpenSource! Thanks for the info though! -- Al _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] Turbo explorer
Delphi going to OpenSource? NO. AFAIK they will offer an entry level version like MS's Express editions. Regards. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Turbo explorer
Lord_ZealoN a écrit : Delphi going to OpenSource? No. Al Boldi was saying that nothing can beat open source, i.e., Borland may do what they want, they won't beat FPC+Lazarus. Moreover, I find it strange that after having announced they wanted to sell all that concerns programming tools, they now try to make some money with. They found no buyer? :-) In any case, why paying for a Visual Pascal that only runs on Windows, whereas FPC+Lazarus are free and run on 2,000,000 OS's? mm _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Turbo explorer
A good question, at least for me: How a company like Borland will survive if it turns its softwares Open Source? May someone say some words about this? Borland survive sailing licenses paid. Doesn't it? [ ] Ricardo At 11:24 9/8/2006, you wrote: Lord_ZealoN a écrit : Delphi going to OpenSource? No. Al Boldi was saying that nothing can beat open source, i.e., Borland may do what they want, they won't beat FPC+Lazarus. Moreover, I find it strange that after having announced they wanted to sell all that concerns programming tools, they now try to make some money with. They found no buyer? :-) In any case, why paying for a Visual Pascal that only runs on Windows, whereas FPC+Lazarus are free and run on 2,000,000 OS's? mm _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Turbo explorer
What about Kylix? Would they enable Turbo Kylix as well? - Original Message - From: m2 [EMAIL PROTECTED] To: lazarus@miraclec.com Sent: Wednesday, August 09, 2006 4:24 PM Subject: Re: [lazarus] Turbo explorer Lord_ZealoN a écrit : Delphi going to OpenSource? No. Al Boldi was saying that nothing can beat open source, i.e., Borland may do what they want, they won't beat FPC+Lazarus. Moreover, I find it strange that after having announced they wanted to sell all that concerns programming tools, they now try to make some money with. They found no buyer? :-) In any case, why paying for a Visual Pascal that only runs on Windows, whereas FPC+Lazarus are free and run on 2,000,000 OS's? mm _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Turbo explorer
On Wednesday 09 August 2006 07:38, Arí Ricardo Ody wrote: A good question, at least for me: How a company like Borland will survive if it turns its softwares Open Source? May someone say some words about this? Borland survive sailing licenses paid. Doesn't it? [ ] Ricardo I think they could run the company like MySQL does. Sort of a dual license - use it for business then pay for the license. I'm not sure how big MySQL is (the company) but I think in general they are doing very well. Also Borlands recent move to services fits the same mold that MySQL is using. The business that uses the product pays for the product. Developers pay nothing. Small mom and pop shops will most likely rip off the product but big business will pay for protection against suit and to get the support. John _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] compiling bigide
Hi, I was planning on doing a make clean bigide but the compiler complains it cannot find unit postgres3dyn. Do I need to install this first? Where can I find it? Darius _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] compiling bigide
On Wed, Aug 09, 2006 at 06:05:17PM +0200, Darius Blaszijk wrote: I was planning on doing a make clean bigide but the compiler complains it cannot find unit postgres3dyn. Do I need to install this first? Where can I find it? Simply part of FPC's postgress pkg. So fpc/packages/base/postgres. _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Turbo explorer
Kylix is dead. 2006/8/9, Zlatko Matić [EMAIL PROTECTED]: What about Kylix? Would they enable Turbo Kylix as well? - Original Message - From: m2 [EMAIL PROTECTED] To: lazarus@miraclec.com Sent: Wednesday, August 09, 2006 4:24 PM Subject: Re: [lazarus] Turbo explorer Lord_ZealoN a écrit : Delphi going to OpenSource? No. Al Boldi was saying that nothing can beat open source, i.e., Borland may do what they want, they won't beat FPC+Lazarus. Moreover, I find it strange that after having announced they wanted to sell all that concerns programming tools, they now try to make some money with. They found no buyer? :-) In any case, why paying for a Visual Pascal that only runs on Windows, whereas FPC+Lazarus are free and run on 2,000,000 OS's? mm _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives -- Atenciosamente, Alexsander da Rosa _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] compiling bigide
Marco van de Voort wrote: On Wed, Aug 09, 2006 at 06:05:17PM +0200, Darius Blaszijk wrote: I was planning on doing a make clean bigide but the compiler complains it cannot find unit postgres3dyn. Do I need to install this first? Where can I find it? Simply part of FPC's postgress pkg. So fpc/packages/base/postgres. But absent in fpc 2.0.2 windows installer. Vincent _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Turbo explorer
Am I the only one who thinks this is a bit fishy? Something doesn't seem right about this. Why isn't this mentioned in a press release on the Borland site? Did I miss it? Why doesn't David I's blog mention it? (http://blogs.borland.com/davidi/). Even the turboexplorer web site doesn't quite have the right feel to it. Maybe I'm just a Doubting Thomas. Mark Luis R. Hilario B. wrote: Hello, CUPERTINO, Calif. — August 8, 2006 — Today, the Developer Tools Group of Borland Software Corporation (NASDAQ: BORL) announced plans to release single language versions of Borland Developer Studio, the company's development environment for Microsoft(r) Windows(r) and .NET applications. Bringing back the popular Turbo™ moniker, the new Borland Turbo products offer low-cost, language-specific rapid application development capabilities for students, hobbyist developers, occupational developers as well as individual professionals. http://www.turboexplorer.com/ What do you think? they're back to do it again? _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
RE: [lazarus] Turbo explorer
You missed it: Did a search and it's there. http://www.borland.com/us/company/news/press_releases/2006/08_07_06_borlands _developer_tools_group_plans_to_rev_up_classic_turbo.html -Original Message- From: Mark Wrenn [mailto:[EMAIL PROTECTED] Sent: Wednesday, August 09, 2006 12:27 PM To: lazarus@miraclec.com Subject: Re: [lazarus] Turbo explorer Am I the only one who thinks this is a bit fishy? Something doesn't seem right about this. Why isn't this mentioned in a press release on the Borland site? Did I miss it? Why doesn't David I's blog mention it? (http://blogs.borland.com/davidi/). Even the turboexplorer web site doesn't quite have the right feel to it. Maybe I'm just a Doubting Thomas. Mark Luis R. Hilario B. wrote: Hello, CUPERTINO, Calif. - August 8, 2006 - Today, the Developer Tools Group of Borland Software Corporation (NASDAQ: BORL) announced plans to release single language versions of Borland Developer Studio, the company's development environment for Microsoft(r) Windows(r) and .NET applications. Bringing back the popular TurboT moniker, the new Borland Turbo products offer low-cost, language-specific rapid application development capabilities for students, hobbyist developers, occupational developers as well as individual professionals. http://www.turboexplorer.com/ What do you think? they're back to do it again? _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] compiling bigide
See this: http://port2laz.blogspot.com/2006/01/fpc-202-and-postgresql3dyn.html 2006/8/9, Vincent Snijders [EMAIL PROTECTED]: Marco van de Voort wrote: On Wed, Aug 09, 2006 at 06:05:17PM +0200, Darius Blaszijk wrote: I was planning on doing a make clean bigide but the compiler complains it cannot find unit postgres3dyn. Do I need to install this first? Where can I find it? Simply part of FPC's postgress pkg. So fpc/packages/base/postgres. But absent in fpc 2.0.2 windows installer. Vincent _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives -- Atenciosamente, Alexsander da Rosa _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] compiling bigide
Marco, Vincent, Alexsander, Thanks for your help. Darius - Original Message - From: Alexsander Rosa [EMAIL PROTECTED] To: lazarus@miraclec.com Sent: Wednesday, August 09, 2006 9:09 PM Subject: Re: [lazarus] compiling bigide See this: http://port2laz.blogspot.com/2006/01/fpc-202-and-postgresql3dyn.html 2006/8/9, Vincent Snijders [EMAIL PROTECTED]: Marco van de Voort wrote: On Wed, Aug 09, 2006 at 06:05:17PM +0200, Darius Blaszijk wrote: I was planning on doing a make clean bigide but the compiler complains it cannot find unit postgres3dyn. Do I need to install this first? Where can I find it? Simply part of FPC's postgress pkg. So fpc/packages/base/postgres. But absent in fpc 2.0.2 windows installer. Vincent _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives -- Atenciosamente, Alexsander da Rosa _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
Alexandre Leclerc wrote: 2006/8/8, Mattias Gaertner [EMAIL PROTECTED]: A resource manager for the IDE is a good idea. Why not create a designtime package for it? If you need help, don't hesitate to ask. Please, any help on how to start would be appreciated. I'm not enought knowledgefull of lazarus to do all that is discussed bellow, but is simple design time package is the way for this feature to make it's way as integrated feature, I can try to put some time on that... if I can find some. If it eventually is mature enough and works on all platforms it could be added to the IDE directly. Well, in fact the way I would do it is already include it in the IDE directly and then work on it. :) (Or include a compiler directive in the form to activate it... so that anyone can easely activate the feature and recompile it's IDE.) Best regards. For examples of design time packages already (optionally) available are components/fpcunit/ide and components/prettyformat Vincent _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
2006/8/9, Vincent Snijders [EMAIL PROTECTED]: Alexandre Leclerc wrote: 2006/8/8, Mattias Gaertner [EMAIL PROTECTED]: A resource manager for the IDE is a good idea. Why not create a designtime package for it? If you need help, don't hesitate to ask. Please, any help on how to start would be appreciated. I'm not enought knowledgefull of lazarus to do all that is discussed bellow, but is simple design time package is the way for this feature to make it's way as integrated feature, I can try to put some time on that... if I can find some. If it eventually is mature enough and works on all platforms it could be added to the IDE directly. Well, in fact the way I would do it is already include it in the IDE directly and then work on it. :) (Or include a compiler directive in the form to activate it... so that anyone can easely activate the feature and recompile it's IDE.) Best regards. For examples of design time packages already (optionally) available are components/fpcunit/ide and components/prettyformat Thanks, I'll take a look. (PS: Design time... how do you install something at design time? Or I'm not understanding that I must add the package+compile+install-which -will-rebuild-lazarus?) Regards. -- Alexandre Leclerc _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
[lazarus] Transparent glyphs
Can someone tell me how to load transparent glyphs for a TSpeedButton at run time? I have tried: glyph.LoadFromFile('x.bmp'); glyph.LoadFromFile('x.bmp'); glyph.Transparent := true; glyph.Transparent := true; glyph.LoadFromFile('x.bmp'); bmp := TBitmap.Create; bmp.LoadFromFile('x.bmp'); glyph.Assign(bmp); bmp := TBitmap.Create; bmp.LoadFromFile('x.bmp'); bmp.Transparent := true; glyph.Assign(bmp); Regards Andreas _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] About including ressource manager in lazarus
On Wed, 9 Aug 2006 16:46:18 -0400 Alexandre Leclerc [EMAIL PROTECTED] wrote: 2006/8/9, Vincent Snijders [EMAIL PROTECTED]: Alexandre Leclerc wrote: 2006/8/8, Mattias Gaertner [EMAIL PROTECTED]: A resource manager for the IDE is a good idea. Why not create a designtime package for it? If you need help, don't hesitate to ask. Please, any help on how to start would be appreciated. I'm not enought knowledgefull of lazarus to do all that is discussed bellow, but is simple design time package is the way for this feature to make it's way as integrated feature, I can try to put some time on that... if I can find some. If it eventually is mature enough and works on all platforms it could be added to the IDE directly. Well, in fact the way I would do it is already include it in the IDE directly and then work on it. :) (Or include a compiler directive in the form to activate it... so that anyone can easely activate the feature and recompile it's IDE.) Best regards. For examples of design time packages already (optionally) available are components/fpcunit/ide and components/prettyformat Thanks, I'll take a look. (PS: Design time... how do you install something at design time? Or I'm not understanding that I must add the package+compile+install-which -will-rebuild-lazarus?) Yes. The IDE does not yet support dynamic libs for design time packages. Mattias _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Transparent glyphs
I not sure how is the FPC/Lazarus behavior, in Delphi the transparent color is the last left bottom pixel color. []s Cesar Romero www.liws.com.br Brazil Andreas Berger escreveu: Can someone tell me how to load transparent glyphs for a TSpeedButton at run time? I have tried: glyph.LoadFromFile('x.bmp'); glyph.LoadFromFile('x.bmp'); glyph.Transparent := true; glyph.Transparent := true; glyph.LoadFromFile('x.bmp'); bmp := TBitmap.Create; bmp.LoadFromFile('x.bmp'); glyph.Assign(bmp); bmp := TBitmap.Create; bmp.LoadFromFile('x.bmp'); bmp.Transparent := true; glyph.Assign(bmp); Regards Andreas _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives
Re: [lazarus] Transparent glyphs
On 8/9/06, Andreas Berger [EMAIL PROTECTED] wrote: Can someone tell me how to load transparent glyphs for a TSpeedButton at run time? You are forgetting that bitmaps contain no information about transparency at all. You must provide the transparency information yourself. In this case it will be a color. All pixels with that color will be transparent. Try: bmp := TBitmap.Create; bmp.LoadFromFile('x.bmp'); bmp.Transparent := True; bmp.TransparentColor := clFuchsia; // Insert color here glyph.Assign(bmp); -- Felipe Monteiro de Carvalho _ To unsubscribe: mail [EMAIL PROTECTED] with unsubscribe as the Subject archives at http://www.lazarus.freepascal.org/mailarchives