From bo.berglund at gmail.com Sun Nov 1 08:22:21 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Sun, 01 Nov 2020 08:22:21 +0100 Subject: [Lazarus] What to replace Application.Processmessages with? References: Message-ID: On Mon, 26 Oct 2020 13:00:26 +0100 (CET), Michael Van Canneyt via lazarus wrote: >But I would create a routine > >Procedure HandleMainLoop; > >begin >{$IFDEF NOGUI} > CheckSynchronize; >{$ELSE} > Application.ProcessMessages; >{$ENDIF} >end; > >And call that both in GUI and NOGUI. I decided to check how Lazaus implements Application.Processmessages. It seems to start in the Forms unit and then redirects into application.inc where I found this (on Windows): {------------------------------------------------------------------------------ TApplication ProcesssMessages "Enter the messageloop and process until empty" ------------------------------------------------------------------------------} procedure TApplication.ProcessMessages; begin if Self=nil then begin // when the programmer did a mistake, avoid getting strange errors raise Exception.Create('Application=nil'); end; WidgetSet.AppProcessMessages; ProcessAsyncCallQueue; end; If I try to find how WidgetSet.AppProcessMessages; looks like then I get to a dead end: procedure AppProcessMessages; virtual; abstract; (no implementation) And ProcessAsyncCallQueue seems to be doing the job with pretty intricate code inside a CriticalSection shield. QUESTION: Is there a way in code to check if Forms is used? So it can be used instead of {$IFDEF NOGUI} -- Bo Berglund Developer in Sweden From michael at freepascal.org Sun Nov 1 10:20:11 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Sun, 1 Nov 2020 10:20:11 +0100 (CET) Subject: [Lazarus] What to replace Application.Processmessages with? In-Reply-To: References: Message-ID: On Sun, 1 Nov 2020, Bo Berglund via lazarus wrote: > procedure AppProcessMessages; virtual; abstract; (no implementation) > > And ProcessAsyncCallQueue seems to be doing the job with pretty > intricate code inside a CriticalSection shield. > > QUESTION: > Is there a way in code to check if Forms is used? > So it can be used instead of {$IFDEF NOGUI} normally {$IF DECLARED(Forms)} or {$IF DECLARED(TForm)} should do the trick for you. Michael. From bo.berglund at gmail.com Sun Nov 1 11:37:14 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Sun, 01 Nov 2020 11:37:14 +0100 Subject: [Lazarus] What to replace Application.Processmessages with? References: Message-ID: On Sun, 1 Nov 2020 10:20:11 +0100 (CET), Michael Van Canneyt via lazarus wrote: >> QUESTION: >> Is there a way in code to check if Forms is used? >> So it can be used instead of {$IFDEF NOGUI} > >normally > >{$IF DECLARED(Forms)} >or >{$IF DECLARED(TForm)} > >should do the trick for you. A quick test: It seems like there is a problem with this... I added this to the end of a random function: {$IF DECLARED(TForm)} Application.ProcessMessages; {$ENDIF} Even though the project does not use Forms (Search/Find in Files in all project files does not find it) the code within the block is marked enabled and a quick compile succeeds. No file in the project declares Forms as a used unit. Same thing happens if I check for Forms in the code above... If I try to use the right-click/FindDeclarationOf on Processmessages pops up an error: class_SSRemoteServer.pas(530,5) Error: identifier not found: Application However, the app builds... So maybe this is a problem with the Lazarus code editor not being able to parse the {$IF DECLARED(TForm/Forms)} item? To really check this I need to create a test app and run it in the debugger, I guess.. In a command line program it should not generate code, right? -- Bo Berglund Developer in Sweden From bo.berglund at gmail.com Sun Nov 1 11:48:54 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Sun, 01 Nov 2020 11:48:54 +0100 Subject: [Lazarus] What to replace Application.Processmessages with? References: Message-ID: On Sun, 1 Nov 2020 10:20:11 +0100 (CET), Michael Van Canneyt via lazarus wrote: >> QUESTION: >> Is there a way in code to check if Forms is used? >> So it can be used instead of {$IFDEF NOGUI} > >normally > >{$IF DECLARED(Forms)} >or >{$IF DECLARED(TForm)} > >should do the trick for you. > I created this command line program: program Test; begin Writeln('I will test the TForm check now:'); {$IF DECLARED(TForm)} Writeln('TForm is declared...'); {$ELSE} Writeln('Apparently TForm not declared'); {$ENDIF} Writeln('I will test the Forms check now:'); {$IF DECLARED(Forms)} Writeln('Forms is declared...'); {$ELSE} Writeln('Apparently Forms not declared'); {$ENDIF} end. When I run it in a console: $ ./Test I will test the TForm check now: Apparently TForm not declared I will test the Forms check now: Apparently Forms not declared However in the Lazarus code editor the lines inside the {$ELSE} clauses are shown as disabled even though these are the ones actually present and running in the build... -- Bo Berglund Developer in Sweden From michael at freepascal.org Sun Nov 1 11:50:29 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Sun, 1 Nov 2020 11:50:29 +0100 (CET) Subject: [Lazarus] What to replace Application.Processmessages with? In-Reply-To: References: Message-ID: On Sun, 1 Nov 2020, Bo Berglund via lazarus wrote: >> should do the trick for you. > > A quick test: > It seems like there is a problem with this... > I added this to the end of a random function: > > {$IF DECLARED(TForm)} > Application.ProcessMessages; > {$ENDIF} > > Even though the project does not use Forms (Search/Find in Files in > all project files does not find it) the code within the block is > marked enabled and a quick compile succeeds. > > No file in the project declares Forms as a used unit. > Same thing happens if I check for Forms in the code above... > > If I try to use the right-click/FindDeclarationOf on Processmessages > pops up an error: > class_SSRemoteServer.pas(530,5) Error: identifier not found: > Application > > However, the app builds... > So maybe this is a problem with the Lazarus code editor not being able > to parse the {$IF DECLARED(TForm/Forms)} item? I can't comment on this. > > To really check this I need to create a test app and run it in the > debugger, I guess.. > In a command line program it should not generate code, right? Yes. Michael. From michael at freepascal.org Sun Nov 1 11:51:14 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Sun, 1 Nov 2020 11:51:14 +0100 (CET) Subject: [Lazarus] What to replace Application.Processmessages with? In-Reply-To: References: Message-ID: On Sun, 1 Nov 2020, Bo Berglund via lazarus wrote: > On Sun, 1 Nov 2020 10:20:11 +0100 (CET), Michael Van Canneyt via > lazarus wrote: > >>> QUESTION: >>> Is there a way in code to check if Forms is used? >>> So it can be used instead of {$IFDEF NOGUI} >> >> normally >> >> {$IF DECLARED(Forms)} >> or >> {$IF DECLARED(TForm)} >> >> should do the trick for you. >> > > I created this command line program: > > program Test; > > begin > Writeln('I will test the TForm check now:'); > {$IF DECLARED(TForm)} > Writeln('TForm is declared...'); > {$ELSE} > Writeln('Apparently TForm not declared'); > {$ENDIF} > Writeln('I will test the Forms check now:'); > {$IF DECLARED(Forms)} > Writeln('Forms is declared...'); > {$ELSE} > Writeln('Apparently Forms not declared'); > {$ENDIF} > > end. > > When I run it in a console: > > $ ./Test > I will test the TForm check now: > Apparently TForm not declared > I will test the Forms check now: > Apparently Forms not declared > > However in the Lazarus code editor the lines inside the {$ELSE} > clauses are shown as disabled even though these are the ones actually > present and running in the build... Well, then the IDE codetools have an issue. Michael. From bo.berglund at gmail.com Sun Nov 1 11:51:12 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Sun, 01 Nov 2020 11:51:12 +0100 Subject: [Lazarus] What to replace Application.Processmessages with? References: Message-ID: <3n4tpfd7i6e1imgm269pk2su0jrvu77aca@4ax.com> On Sun, 01 Nov 2020 11:48:54 +0100, Bo Berglund via lazarus wrote: >I created this command line program: > >program Test; > >begin > Writeln('I will test the TForm check now:'); > {$IF DECLARED(TForm)} > Writeln('TForm is declared...'); > {$ELSE} > Writeln('Apparently TForm not declared'); > {$ENDIF} > Writeln('I will test the Forms check now:'); > {$IF DECLARED(Forms)} > Writeln('Forms is declared...'); > {$ELSE} > Writeln('Apparently Forms not declared'); > {$ENDIF} > >end. > >When I run it in a console: > >$ ./Test >I will test the TForm check now: >Apparently TForm not declared >I will test the Forms check now: >Apparently Forms not declared > >However in the Lazarus code editor the lines inside the {$ELSE} >clauses are shown as disabled even though these are the ones actually >present and running in the build... Forgot to state environment: FPC 3.0.4 Lazarus 2.0.8 OS: Raspbian Linux on RPi4 -- Bo Berglund Developer in Sweden From bartjunk64 at gmail.com Sun Nov 1 12:16:00 2020 From: bartjunk64 at gmail.com (Bart) Date: Sun, 1 Nov 2020 12:16:00 +0100 Subject: [Lazarus] What to replace Application.Processmessages with? In-Reply-To: References: Message-ID: On Sun, Nov 1, 2020 at 11:51 AM Michael Van Canneyt via lazarus wrote: > Well, then the IDE codetools have an issue. It's a known issue, not yet fixed. -- Bart From nc-gaertnma at netcologne.de Sun Nov 1 18:38:42 2020 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Sun, 1 Nov 2020 18:38:42 +0100 Subject: [Lazarus] What to replace Application.Processmessages with? In-Reply-To: References: Message-ID: <20201101183842.6e01572f@limapholos.matflo.wg> On Sun, 01 Nov 2020 11:37:14 +0100 Bo Berglund via lazarus wrote: > On Sun, 1 Nov 2020 10:20:11 +0100 (CET), Michael Van Canneyt via > lazarus wrote: > > >> QUESTION: > >> Is there a way in code to check if Forms is used? > >> So it can be used instead of {$IFDEF NOGUI} > > > >normally > > > >{$IF DECLARED(Forms)} > >or > >{$IF DECLARED(TForm)} > > > >should do the trick for you. > > A quick test: > It seems like there is a problem with this... > I added this to the end of a random function: > > {$IF DECLARED(TForm)} Not yet supported by codetools, i.e. in the IDE. Codetools simply evaluates "declared()" to true. > Application.ProcessMessages; > {$ENDIF} Test compile by adding some invalid line like aaa; Mattias From bo.berglund at gmail.com Mon Nov 2 08:07:14 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Mon, 02 Nov 2020 08:07:14 +0100 Subject: [Lazarus] FindWindow return sequence (Windows 10)? Message-ID: I am writing utilities to enumerate windows (in Windows10) based on the partial title. Will be used in order to find a particular set of windows. The function should return a list of window titles and handles to the window. I found examples I have adapted and it is working partially.. But there is one thing I cannot understand and this is why the call to ListWindowExtd returns the windows out of sequence. The first handle is always larger than all following... I thought that GetWindow(hWndTemp, GW_HWNDNEXT); would return the next larger handle following hWndTemp, but it seems like this is not the case. Is the result random or is there some known sequence when using the flag GW_HWNDNEXT?? Of course I could sort the result afterwards but why? Should not GW_HWNDNEXT do the sequencing? I am currently using these 3 functions for the enumeration: function GetWindowTitle(Hdl: HWND) : string; var i: integer; cTitletemp: array [0..254] of Char; sTitleTemp: string; begin Result := ''; i := GetWindowText(Hdl, cTitletemp, 255); if i > 0 then begin sTitleTemp := cTitletemp; Result := Copy(sTitleTemp, 1, i); end; end; function FindWindowExtd(partialTitle : string) : HWND; {Find handle to a window containing partialTitle} var hWndTemp: hWnd; sTitleTemp: string; begin partialTitle := LowerCase(partialTitle); hWndTemp := FindWindow(nil, nil); //First window??? while hWndTemp <> 0 do begin sTitleTemp := lowercase(GetWindowTitle(hWndTemp)); if pos(partialTitle, sTitleTemp) <> 0 then Break; hWndTemp := GetWindow(hWndTemp, GW_HWNDNEXT); end; result := hWndTemp; end; function ListWindowExtd(partialTitle : string) : string; var hWndTemp: hWnd; sTitle: string; begin Result := ''; partialTitle := lowercase(partialTitle); hWndTemp := FindWindowExtd(partialTitle); if hWndTemp = 0 then exit; Result := IntToStr(hWndTemp) + ' '#9 + GetWindowTitle(hWndTemp); hWndTemp := GetWindow(hWndTemp, GW_HWNDNEXT); while hWndTemp <> 0 do begin sTitle := GetWindowTitle(hWndTemp); if pos(partialTitle, lowercase(sTitle)) <> 0 then Result := Result + #13 + IntToStr(hWndTemp) + ' '#9 + sTitle; hWndTemp := GetWindow(hWndTemp, GW_HWNDNEXT); end; end; -- Bo Berglund Developer in Sweden From bo.berglund at gmail.com Mon Nov 2 09:22:15 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Mon, 02 Nov 2020 09:22:15 +0100 Subject: [Lazarus] Best way to record a displayed video to file? Message-ID: What are my options to record a video playing in a web browser to a disk file (mp4) for later off-line viewing? I have used the PasLibVlc package earlier for playing videos in my application but now I need to go the other way to record a video (with audio) which is playing inside Crome or FireFox (on Windows 10). What are my options? I have read Michael's doc: Displaying video files using Free Pascal and Lazarus but it is the oether way artound... -- Bo Berglund Developer in Sweden From leledumbo_cool at yahoo.co.id Mon Nov 2 10:00:01 2020 From: leledumbo_cool at yahoo.co.id (leledumbo) Date: Mon, 2 Nov 2020 02:00:01 -0700 (MST) Subject: [Lazarus] Best way to record a displayed video to file? In-Reply-To: References: Message-ID: <1604307601476-0.post@n3.nabble.com> > What are my options to record a video playing in a web browser to a disk file (mp4) for later off-line viewing? Browser extension, but they can communicate with a native app. Take a look at Video DownloadHelper, they have both Chrome extension and a native downloader. I haven't checked how the extension communicates with the native downloader, though, but I suspect the extension is small enough to be examined. -- Sent from: http://free-pascal-lazarus.989080.n3.nabble.com/ From bo.berglund at gmail.com Mon Nov 2 10:41:09 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Mon, 02 Nov 2020 10:41:09 +0100 Subject: [Lazarus] Best way to record a displayed video to file? References: <1604307601476-0.post@n3.nabble.com> Message-ID: On Mon, 2 Nov 2020 02:00:01 -0700 (MST), leledumbo via lazarus wrote: >> What are my options to record a video playing in a web browser to a disk >file (mp4) for later off-line viewing? > >Browser extension, but they can communicate with a native app. Take a look >at Video DownloadHelper, they have both Chrome extension and a native >downloader. I haven't checked how the extension communicates with the native >downloader, though, but I suspect the extension is small enough to be >examined. > Well, that was my first attempt.. But when I look in the VideoDownloadHelper extension settings I find a gazillion small parts of the video (ranging from a few to a few tenths of kb only) so that it is nearly impossible to use. That is why I am going for a Lazarus/Fpc solution to download the video. My video editor uses PasLibVlc to plug into VLC and it works fine for playing a video in my viewer, even from a website. But it relies on the URL to contain a file name... This is not the case mostly. And I also want to use my new application to record actions within the window such as mouse arrow movements and selections etc. Basically making a tutorial using the new application. It must result in an mp4 complete file (video and audio). -- Bo Berglund Developer in Sweden From pascaldragon at googlemail.com Mon Nov 2 11:08:32 2020 From: pascaldragon at googlemail.com (Sven Barth) Date: Mon, 2 Nov 2020 11:08:32 +0100 Subject: [Lazarus] FindWindow return sequence (Windows 10)? In-Reply-To: References: Message-ID: Bo Berglund via lazarus schrieb am Mo., 2. Nov. 2020, 08:07: > I thought that GetWindow(hWndTemp, GW_HWNDNEXT); would return the next > larger handle following hWndTemp, but it seems like this is not the > case. Is the result random or is there some known sequence when using > the flag GW_HWNDNEXT?? > The documentation about GW_HWNDNEXT on MSDN says this: === MSDN begin === The retrieved handle identifies the window below the specified window in the Z order. If the specified window is a topmost window, the handle identifies a topmost window. If the specified window is a top-level window, the handle identifies a top-level window. If the specified window is a child window, the handle identifies a sibling window. === MSDN end === So nowhere does it guarantee that the handles values themselves are ordered only that the resulting windows are ordered in some way. In general you should not rely on the order of Handle values, because from the perspective of the application they are to be considered as random. Regards, Sven -------------- next part -------------- An HTML attachment was scrubbed... URL: From bo.berglund at gmail.com Mon Nov 2 11:14:04 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Mon, 02 Nov 2020 11:14:04 +0100 Subject: [Lazarus] FindWindow return sequence (Windows 10)? References: Message-ID: On Mon, 2 Nov 2020 11:08:32 +0100, Sven Barth via lazarus wrote: >Bo Berglund via lazarus schrieb am Mo., 2. >Nov. 2020, 08:07: > >> I thought that GetWindow(hWndTemp, GW_HWNDNEXT); would return the next >> larger handle following hWndTemp, but it seems like this is not the >> case. Is the result random or is there some known sequence when using >> the flag GW_HWNDNEXT?? >> > > >The documentation about GW_HWNDNEXT on MSDN says this: > >=== MSDN begin === > >The retrieved handle identifies the window below the specified window in >the Z order. >If the specified window is a topmost window, the handle identifies a >topmost window. If the specified window is a top-level window, the handle >identifies a top-level window. If the specified window is a child window, >the handle identifies a sibling window. > >=== MSDN end === > >So nowhere does it guarantee that the handles values themselves are ordered >only that the resulting windows are ordered in some way. > >In general you should not rely on the order of Handle values, because from >the perspective of the application they are to be considered as random. > OK, thanks! I just want to find the handles of windows related to each other... So I will disregard the numerical order. -- Bo Berglund Developer in Sweden From SAmeis.fpc at web.de Mon Nov 2 23:18:27 2020 From: SAmeis.fpc at web.de (Simon Ameis) Date: Mon, 2 Nov 2020 23:18:27 +0100 Subject: [Lazarus] XPath expression with Namespaces Message-ID: <0199ff21-f797-8f86-f4bb-a718d4607a55@web.de> Hello all, could somebody help me with using XML namespaces in an XPath expression? I constantly get an EDOMNamespace exception with message 'TXPathScanner.ParseStep', even if I provide an TXPathNSResolver instance. The exception only disappears if I use an own TXPathNSResolver descendant class which resolves the namespace prefix 'D' to any URI. However, then the resultset is still empty. The Wiki page about xpath doesn't mention namespaces at all. program Project1; {$mode objfpc}{$H+} uses   SysUtils, Classes,   Laz2_DOM, laz2_XMLRead, laz2_xpath; // example document const   XML = '' +'' +'' +'/' +'' +''; var   s: TStringStream = nil;   doc: TXMLDocument = nil;   ResponseList: TXPathVariable = nil;   ResponseNode: TDOMElement;   Resolver: TXPathNSResolver = nil; begin   try     s := TStringStream.Create(XML);     ReadXMLFile(doc, s);     Resolver := TXPathNSResolver.Create(doc.DocumentElement);     // this call raises EDOMNamespace exception with message 'TXPathScanner.ParseStep'     ResponseList := EvaluateXPathExpression('//D:Response', doc.DocumentElement, Resolver);     for Pointer(ResponseNode) in ResponseList.AsNodeSet do       WriteLn(ResponseNode.TextContent);   finally     FreeAndNil(ResponseList);     FreeAndNil(Resolver);     FreeAndNil(doc);     FreeAndNil(s);   end;   WriteLn('End');   readLn; end. From listbox at martoks-place.de Tue Nov 3 17:01:31 2020 From: listbox at martoks-place.de (Martok) Date: Tue, 3 Nov 2020 17:01:31 +0100 Subject: [Lazarus] Request for merge to 2.0 Message-ID: <7e4e50fb-8280-3464-bd5e-f246c36ac8d2@martoks-place.de> Dear maintainers, may I ask to merge rev 62042 into fixes_2_0 for the next patch release? This change from 2019 fixed building Lazarus with sparta_DockedFormEditor (see #34899), which is still broken in 2.0.10. Juha mentioned in #37968 that the sparta_Generics package will go away once 3.2 is the minimum requirement, but r62042 solves the issue for new FPC while keeping compat with old. And since the official Windows installers come bundled with FPC 3.2, the bug occurs with the current distribution. Thanks, Martok From listbox at martoks-place.de Tue Nov 3 17:03:44 2020 From: listbox at martoks-place.de (Martok) Date: Tue, 3 Nov 2020 17:03:44 +0100 Subject: [Lazarus] Request for merge to 2.0 Message-ID: <828e547e-83f0-daae-6b01-e281d56d5603@martoks-place.de> Dear maintainers, may I ask to merge rev 62042 into fixes_2_0 for the next patch release? This change from 2019 fixed building Lazarus with sparta_DockedFormEditor (see #34899), which is still broken in 2.0.10. Juha mentioned in #37968 that the sparta_Generics package will go away once 3.2 is the minimum requirement, but r62042 solves the issue for new FPC while keeping compat with old. And since the official Windows installers come bundled with FPC 3.2, the bug occurs with the current distribution. Thanks, Martok From juha.manninen62 at gmail.com Tue Nov 3 20:06:55 2020 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Tue, 3 Nov 2020 21:06:55 +0200 Subject: [Lazarus] Request for merge to 2.0 In-Reply-To: <7e4e50fb-8280-3464-bd5e-f246c36ac8d2@martoks-place.de> References: <7e4e50fb-8280-3464-bd5e-f246c36ac8d2@martoks-place.de> Message-ID: On Tue, Nov 3, 2020 at 6:02 PM Martok via lazarus < lazarus at lists.lazarus-ide.org> wrote: > may I ask to merge rev 62042 into fixes_2_0 for the next patch release? > There was an attempt to merge it to 2.0.10 but conflicts prevented it. I did not study deeply how to solve them. There will be no more patch releases for 2.0.x series. The next release will be 2.2. For now I would recommend Lazarus trunk for you. It works very well now. Regards, Juha -------------- next part -------------- An HTML attachment was scrubbed... URL: From listbox at martoks-place.de Tue Nov 3 20:31:56 2020 From: listbox at martoks-place.de (Martok) Date: Tue, 3 Nov 2020 20:31:56 +0100 Subject: [Lazarus] Request for merge to 2.0 In-Reply-To: References: <7e4e50fb-8280-3464-bd5e-f246c36ac8d2@martoks-place.de> Message-ID: > There was an attempt to merge it to 2.0.10 but conflicts prevented it. I did not > study deeply how to solve them. > There will be no more patch releases for 2.0.x series. The next release will be 2.2. Ah, right, well that also solves the issue :-) > For now I would recommend Lazarus trunk for you. It works very well now. Personally I've been using nothing but trunk of both Lazarus and FPC since some time during the FPC 2.7 cycle... other, more conservative people have asked me about this bug and it seemed like a good thing to backport. Also, sorry about the double message. My mail server gave me an error after sending the first, but obviously that got through just fine. Regards, Martok From larrydalton71 at gmail.com Wed Nov 4 01:00:43 2020 From: larrydalton71 at gmail.com (Larry Dalton) Date: Tue, 3 Nov 2020 19:00:43 -0500 Subject: [Lazarus] libmysql.dll Message-ID: I have done a complete overhaul on my computer, installing a new version of mysql, phpmyadmin, apache, and lazarus. Here are the current versions: Windows 10 Lazarus 2.0.10 Wamperserver 3.2.3.3 Apache/2.4.46(Win64) phpmyadmin 5.0.2 MySQL 8.0.21-MySql Community Server-GPL. Microsoft Visual C++2015-2019. I am getting the old "can't load libmysql.dll". I have manually copied it to C:\Windows\System32, C:\Windows\SysWOW64, and the application target: C:\(my directory)Money.. What else do I need to do to make this work? -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael at freepascal.org Wed Nov 4 08:11:19 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 4 Nov 2020 08:11:19 +0100 (CET) Subject: [Lazarus] libmysql.dll In-Reply-To: References: Message-ID: On Tue, 3 Nov 2020, Larry Dalton via lazarus wrote: > I have done a complete overhaul on my computer, installing a new version of > mysql, phpmyadmin, apache, and lazarus. Here are the current versions: > Windows 10 > Lazarus 2.0.10 > Wamperserver 3.2.3.3 > Apache/2.4.46(Win64) > phpmyadmin 5.0.2 > MySQL 8.0.21-MySql Community Server-GPL. > Microsoft Visual C++2015-2019. > > I am getting the old "can't load libmysql.dll". I have manually copied it > to C:\Windows\System32, > C:\Windows\SysWOW64, and the application target: C:\(my directory)Money.. > > What else do I need to do to make this work? An older version of the mysql.dll client library. Version 8 is not supported. 5.7 is the latest supported version. Michael. From larrydalton71 at gmail.com Wed Nov 4 15:32:36 2020 From: larrydalton71 at gmail.com (Larry Dalton) Date: Wed, 4 Nov 2020 09:32:36 -0500 Subject: [Lazarus] libmysql.dll In-Reply-To: References: Message-ID: Not the answer in this case. I am using MySQL 8.0 on my linux laptop, and have no issues with it. I do have to set the 'skiplibraryversioncheck' to TRUE, and it works just fine. I have eliminated that possibility. On Wed, Nov 4, 2020 at 2:11 AM Michael Van Canneyt via lazarus < lazarus at lists.lazarus-ide.org> wrote: > > > On Tue, 3 Nov 2020, Larry Dalton via lazarus wrote: > > > I have done a complete overhaul on my computer, installing a new version > of > > mysql, phpmyadmin, apache, and lazarus. Here are the current versions: > > Windows 10 > > Lazarus 2.0.10 > > Wamperserver 3.2.3.3 > > Apache/2.4.46(Win64) > > phpmyadmin 5.0.2 > > MySQL 8.0.21-MySql Community Server-GPL. > > Microsoft Visual C++2015-2019. > > > > I am getting the old "can't load libmysql.dll". I have manually copied it > > to C:\Windows\System32, > > C:\Windows\SysWOW64, and the application target: C:\(my directory)Money.. > > > > What else do I need to do to make this work? > > An older version of the mysql.dll client library. Version 8 is not > supported. > 5.7 is the latest supported version. > > Michael. > -- > _______________________________________________ > lazarus mailing list > lazarus at lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus > -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael at freepascal.org Wed Nov 4 15:36:48 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 4 Nov 2020 15:36:48 +0100 (CET) Subject: [Lazarus] libmysql.dll In-Reply-To: References: Message-ID: On Wed, 4 Nov 2020, Larry Dalton via lazarus wrote: > Not the answer in this case. I am using MySQL 8.0 on my linux laptop, and > have no issues with it. I do have to set the 'skiplibraryversioncheck' to > TRUE, and it works just fine. I have eliminated that possibility. Correct architecture (32/64 bit) ? Michael. From larrydalton71 at gmail.com Wed Nov 4 15:46:31 2020 From: larrydalton71 at gmail.com (Larry Dalton) Date: Wed, 4 Nov 2020 09:46:31 -0500 Subject: [Lazarus] libmysql.dll In-Reply-To: References: Message-ID: I think so. I removed all versions of libmysql from my computer, and replaced them with the version that downloaded with the new Mysql install. Is there any way I can check all the installations to be sure they are all 64bit? On Wed, Nov 4, 2020 at 9:36 AM Michael Van Canneyt wrote: > > > On Wed, 4 Nov 2020, Larry Dalton via lazarus wrote: > > > Not the answer in this case. I am using MySQL 8.0 on my linux laptop, and > > have no issues with it. I do have to set the 'skiplibraryversioncheck' to > > TRUE, and it works just fine. I have eliminated that possibility. > > Correct architecture (32/64 bit) ? > > Michael. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael at freepascal.org Wed Nov 4 15:47:42 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 4 Nov 2020 15:47:42 +0100 (CET) Subject: [Lazarus] libmysql.dll In-Reply-To: References: Message-ID: On Wed, 4 Nov 2020, Larry Dalton wrote: > I think so. I removed all versions of libmysql from my computer, and > replaced them with the version that downloaded with the new Mysql install. > Is there any way I can check all the installations to be sure they are all > 64bit? Not that I am aware of. Last time I had to install MySQL on a windows (< 6 months ago), I ended up installing 32-bit 5.7, because I could not get it to work with the V8 installs. So if you manage it, I'll be glad to know how you did it. Michael. From larrydalton71 at gmail.com Wed Nov 4 16:03:47 2020 From: larrydalton71 at gmail.com (Larry Dalton) Date: Wed, 4 Nov 2020 10:03:47 -0500 Subject: [Lazarus] libmysql.dll In-Reply-To: References: Message-ID: I may have to go back to 32bit if I can't get it to work. On Wed, Nov 4, 2020 at 9:47 AM Michael Van Canneyt wrote: > > > On Wed, 4 Nov 2020, Larry Dalton wrote: > > > I think so. I removed all versions of libmysql from my computer, and > > replaced them with the version that downloaded with the new Mysql > install. > > Is there any way I can check all the installations to be sure they are > all > > 64bit? > > Not that I am aware of. > > Last time I had to install MySQL on a windows (< 6 months ago), > I ended up installing 32-bit 5.7, because I could not get it to work with > the V8 installs. > > So if you manage it, I'll be glad to know how you did it. > > Michael. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From marc at dommelstein.nl Thu Nov 5 09:59:11 2020 From: marc at dommelstein.nl (Marc Weustink) Date: Thu, 5 Nov 2020 09:59:11 +0100 Subject: [Lazarus] libmysql.dll In-Reply-To: References: Message-ID: <6415b678-1bb8-a1e9-a846-34ce7b1e9222@dommelstein.nl> On 4-11-2020 15:46, Larry Dalton via lazarus wrote: > I think so. I removed all versions of libmysql from my computer, and > replaced them with the version that downloaded with the new Mysql > install. Is there any way I can check all the installations  to be sure > they are all 64bit? What I use to check if dlls are ok (and their dependencies) is a program called dependencies https://github.com/lucasg/Dependencies Marc From larrydalton71 at gmail.com Thu Nov 5 12:09:30 2020 From: larrydalton71 at gmail.com (Larry Dalton) Date: Thu, 5 Nov 2020 06:09:30 -0500 Subject: [Lazarus] libmysql.dll In-Reply-To: References: Message-ID: Does it work on Windows 10? Sent from my iPhone > On Nov 4, 2020, at 09:47, Michael Van Canneyt wrote: > >  > >> On Wed, 4 Nov 2020, Larry Dalton wrote: >> >> I think so. I removed all versions of libmysql from my computer, and >> replaced them with the version that downloaded with the new Mysql install. >> Is there any way I can check all the installations to be sure they are all >> 64bit? > > Not that I am aware of. > > Last time I had to install MySQL on a windows (< 6 months ago), I ended up installing 32-bit 5.7, because I could not get it to work with the V8 installs. > > So if you manage it, I'll be glad to know how you did it. > > Michael. From zoe at scootersoftware.com Tue Nov 10 22:27:57 2020 From: zoe at scootersoftware.com (=?UTF-8?Q?Zo=c3=ab_Peterson?=) Date: Tue, 10 Nov 2020 15:27:57 -0600 Subject: [Lazarus] RegisterWSComponent documentation? Message-ID: Is there any documentation on how RegisterWSComponent works with creating classes at runtime? I'm specifically looking at TTreeView and TCustomControl, which both have WS classes, TWSTreeView and TWSCustomControl, and widgetset specific subclasses, TCocoaWSTreeView and TCocoaWSCustomControl. It looks like it's creating new classes at runtime that somehow combine TCocoaWSTreeView and TCocoaWSCustomControl together, but it's not clear. If I have my own class (TUiTreeView) and I want to register a subclass of my own to customize some behavior, should TUiCocoaWSTreeView descend from TCocoaWSTreeView or TCocoaWSCustomControl? Does it matter? If I have a TUiCocoaWSCustomControl too, which has a bunch of behavior I want to share, can I have TUiCocoaWSTreeView descend from that? Does the answer change if I add a new virtual method in TUiCocoaWSCustomControl? This is an issue for me because on macOS 10.14 and later, treeviews should use an NSVisualEffectView for their background rather than using a plain fillRect(clWindow). I have that working in our own wrapper classes, but I'm not sure if I'm doing something dangerous. I would love to submit the above back to the LCL for inclusion in stock Lazarus, but to allow descendants to hook it properly, I'd want a virtual method in TCocoaWSCustomControl that TCocoaWSTreeView could override, and I assume that isn't supported. Thanks, Zoë Peterson Scooter Software From skalogryz.lists at gmail.com Wed Nov 11 05:06:20 2020 From: skalogryz.lists at gmail.com (Dmitry Boyarintsev) Date: Tue, 10 Nov 2020 23:06:20 -0500 Subject: [Lazarus] RegisterWSComponent documentation? In-Reply-To: References: Message-ID: The "logical" hierarchy of TWSxxx classes, drives the run time "virtual" composition. TWSCustomTreeView inherits from TWSCustomControl. When "building" an actual (interface) class in run-time, the code tracks every method declared at TWSCustomControl. If the method is overridden by any platform-descendant class (i.e. TCocoaWSCustomTreeVierw), then the run-time class will get the method from the descendant. Otherwise the platform-class (i.e. TCocoaWSCustomControl) method is used. If platform-class doesn't implement a method, the actual method (of TWSCustomControl) would be used. As a result, the runtime built class "emulates the hierarchy" of TCocoaWSCustromTree -> TCocoaWSCustromControl -> ... even though the actual hierarchy is TCocoaWSCustromTree -> TWSCustromTree TCocoaWSCustromControl -> TWSCustromControl It's not nice, but it works. There are three drawbacks due to use of such approach: * a complicated run-time "building" code * "inherited" call should not be used in TPlatformWSxxx methods. Instead of using inherited, an actual TPlatformWSParentClass should be used instead. * FPC verify method call (-CR) check cannot be used with LCL. (since it the check would always fail in run-time built classes) What you want to do, are the following things: 1) Declare TWSFancyTreeView, as a descendant from TWSTreeControl 2) Declare TUITreeView (LCL control), it can be a descendant from TTreeView 3) Add an implementation TCocoaWSFancyTreeView descendant from (TWSFancyTreeView). 4) In CocoaWSFactory, have a call to RegisterWSComponent( TUITreeView, TCocoaWSFancyTreeView ); that should do the trick. thanks, Dmitry On Tue, Nov 10, 2020 at 4:28 PM Zoë Peterson via lazarus < lazarus at lists.lazarus-ide.org> wrote: > Is there any documentation on how RegisterWSComponent works with > creating classes at runtime? > > I'm specifically looking at TTreeView and TCustomControl, which both > have WS classes, TWSTreeView and TWSCustomControl, and widgetset > specific subclasses, TCocoaWSTreeView and TCocoaWSCustomControl. It > looks like it's creating new classes at runtime that somehow combine > TCocoaWSTreeView and TCocoaWSCustomControl together, but it's not clear. > > If I have my own class (TUiTreeView) and I want to register a subclass > of my own to customize some behavior, should TUiCocoaWSTreeView descend > from TCocoaWSTreeView or TCocoaWSCustomControl? Does it matter? If I > have a TUiCocoaWSCustomControl too, which has a bunch of behavior I want > to share, can I have TUiCocoaWSTreeView descend from that? Does the > answer change if I add a new virtual method in TUiCocoaWSCustomControl? > > This is an issue for me because on macOS 10.14 and later, treeviews > should use an NSVisualEffectView for their background rather than using > a plain fillRect(clWindow). I have that working in our own wrapper > classes, but I'm not sure if I'm doing something dangerous. I would > love to submit the above back to the LCL for inclusion in stock Lazarus, > but to allow descendants to hook it properly, I'd want a virtual method > in TCocoaWSCustomControl that TCocoaWSTreeView could override, and I > assume that isn't supported. > > Thanks, > Zoë Peterson > Scooter Software > > -- > _______________________________________________ > lazarus mailing list > lazarus at lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus > -------------- next part -------------- An HTML attachment was scrubbed... URL: From juha.manninen62 at gmail.com Wed Nov 11 10:48:42 2020 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Wed, 11 Nov 2020 11:48:42 +0200 Subject: [Lazarus] RegisterWSComponent documentation? In-Reply-To: References: Message-ID: FYI, the TTreeView in LCL is custom drawn. It does not map to a native widget unlike LCL controls typically do. There are empty classes TWSCustomTreeView and TWSTreeView and I guess you can derive from them as Dmitry explained. Replacing the current TTreeView in LCL is not realistic though. Juha -------------- next part -------------- An HTML attachment was scrubbed... URL: From zoe at scootersoftware.com Wed Nov 11 21:31:22 2020 From: zoe at scootersoftware.com (=?UTF-8?Q?Zo=c3=ab_Peterson?=) Date: Wed, 11 Nov 2020 14:31:22 -0600 Subject: [Lazarus] RegisterWSComponent documentation? In-Reply-To: References: Message-ID: Dmitry, Thanks for the write-up, that's what I thought was going on, and details like the "inherited" call were what I was worried about. :) Now that I've had a chance to shake out the design, I do see a patch I could pull together if you think it would be merged. General details are: 1) Add a new NSVisualEffectView descendant that wraps a TCocoaManualScrollHost and passes things down to it, just like TCocoaManualScrollHost does for its documentView. 2) TCocoaWSTreeView.CreateHandle would call the existing TCocoaWSCustomControl.CreateHandle to create the TCocoaManualScrollHost handle, then check the OS version, and if it's macOS 10.14 or later, it would create the NSVisualEffectView and nest the inherited handle within it. This new view becomes the handle, but only on versions of macOS that require it. 3) Change a couple of places in TTreeView to call GetColorResolvingParent so it can use clDefault, and add a TCocoaWSTreeView.GetDefaultColor method that conditionally returns either clWindow or clNone. The TTreeView code already skips doing a fillRect on the background if you set Color to clNone. Personally I need the new behavior for any TCustomControl descendant, so I'd put most of the code in TCocoaWSCustomControl, but we have our own TUiTreeView/TUiCustomControl classes already, so I can add the extra configurability we'd need there. The biggest concern I'd have with it being pushed into LCL proper is that FillRect(clWindow) doesn't look right. The NSViualEffectView changes color based on the average color of the desktop wallpaper behind the window and shifts as you move the window around, so none of the NSColors can match it. I had to adjust our owner draw functions to not rely on drawing an opaque rectangle to clear/overwrite things, but it wasn't too bad. I know this might seem like an unnecessary flourish, but TListView and TListBox already have the color shifting background. I'm just trying to make TTreeView match them and NSOutlineView. -- Zoë Peterson Scooter Software From zoe at scootersoftware.com Wed Nov 11 21:39:15 2020 From: zoe at scootersoftware.com (=?UTF-8?Q?Zo=c3=ab_Peterson?=) Date: Wed, 11 Nov 2020 14:39:15 -0600 Subject: [Lazarus] RegisterWSComponent documentation? In-Reply-To: References: Message-ID: <3c12b455-9d1b-b754-5270-40b13de6f838@scootersoftware.com> Juha, On 11/11/20 3:48 AM, Juha Manninen via lazarus wrote: > FYI, the TTreeView in LCL is custom drawn. It does not map to a native > widget unlike LCL controls typically do. See my reply to Dmitry for the details, but the short answer is that I already have everything working. It's just all in our own classes that descend from the widgetset ones. I don't know if/when the behavior changed, but modern versions of macOS do not treat NSView (aka HWND) as opaque. If you don't draw anything, the parent shows through without you having to tell it to. In dark mode, even things like TEdit are translucent. As long as the TTreeView doesn't do a fillRect(ClientRect), everything is drawn correctly. NSVisualEffectView itself isn't transparent. It's a hardware accelerated surface that takes advantage of the GPU compositing to draw. You can put one on top of a bunch of other opaque controls, tell it to show what's behind the window, and it will make it seem like the desktop is peaking through without the opaque controls being visible. There's actually a flag for "Show what's behind the window" or "Show what's behind the view" that controls that. -- Zoë Peterson Scooter Software From skalogryz.lists at gmail.com Wed Nov 11 22:34:23 2020 From: skalogryz.lists at gmail.com (Dmitry Boyarintsev) Date: Wed, 11 Nov 2020 16:34:23 -0500 Subject: [Lazarus] RegisterWSComponent documentation? In-Reply-To: References: Message-ID: On Wed, Nov 11, 2020 at 3:31 PM Zoë Peterson via lazarus < lazarus at lists.lazarus-ide.org> wrote: > Personally I need the new behavior for any TCustomControl descendant, so > I'd put most of the code in TCocoaWSCustomControl, but we have our own > TUiTreeView/TUiCustomControl classes already, so I can add the extra > configurability we'd need there. > I'd suggest to address the issue in the same manner as NSCell-based vs NSView-based tables were. Just add another complication condition into Cocoa-widgetset. The use of NSViualEffectView cannot be hard in Cocoa, as LCL claims to support back to 10.5.8 (or at least 10.6) (There are still some PowerPC Lazarus users) The biggest concern I'd have with it being pushed into LCL proper is > that FillRect(clWindow) doesn't look right. The NSViualEffectView > changes color based on the average color of the desktop wallpaper behind > the window and shifts as you move the window around, so none of the > NSColors can match it. I had to adjust our owner draw functions to not > rely on drawing an opaque rectangle to clear/overwrite things, but it > wasn't too bad. > This is actually a LCL change, rather than Cocoa change. What you might want to do is to add another Widgetset compatibility flag (TLCLCapability) to indicate on how the background of TreeView should/should not be drawn. Using fancy effects is becoming a new norm (for any platform), so it might be handy in future for others (i.e. Qt5) One might argue that TLCLCapability is not the right place for that, and instead Themes class should be used. I personally don't have an opinion about that. After all, you're dealing with a problem that surpassed Win9x User Interface :) Thus, it's not a surprise for LCL not to have enough information to address the problem. thanks, Dmitry -------------- next part -------------- An HTML attachment was scrubbed... URL: From larrydalton71 at gmail.com Fri Nov 13 16:58:02 2020 From: larrydalton71 at gmail.com (Larry Dalton) Date: Fri, 13 Nov 2020 10:58:02 -0500 Subject: [Lazarus] AutoCommit Message-ID: <306874CF-908A-4541-A695-85A64C5D45F4@gmail.com> Error code “Project ****** raised exception class ‘EReadError with unknown property ‘AutoCommit’ Sent from my iPhone From larrydalton71 at gmail.com Fri Nov 13 17:02:32 2020 From: larrydalton71 at gmail.com (Larry Dalton) Date: Fri, 13 Nov 2020 11:02:32 -0500 Subject: [Lazarus] AutoCommit In-Reply-To: <306874CF-908A-4541-A695-85A64C5D45F4@gmail.com> References: <306874CF-908A-4541-A695-85A64C5D45F4@gmail.com> Message-ID: <9784CCBF-0463-4B64-B6F0-1F7939249664@gmail.com> This is only when I try to compile on Lazarus 2.0.6 on Windows. The project works fine on 2.0.10 on Linux. Any ideas? Sent from my iPhone > On Nov 13, 2020, at 10:58, Larry Dalton wrote: > > Error code “Project ****** raised exception class ‘EReadError with unknown property ‘AutoCommit’ > > Sent from my iPhone From larrydalton71 at gmail.com Fri Nov 13 17:04:31 2020 From: larrydalton71 at gmail.com (Larry Dalton) Date: Fri, 13 Nov 2020 11:04:31 -0500 Subject: [Lazarus] AutoCommit In-Reply-To: <9784CCBF-0463-4B64-B6F0-1F7939249664@gmail.com> References: <9784CCBF-0463-4B64-B6F0-1F7939249664@gmail.com> Message-ID: <71906E8F-A63A-4674-9471-4A1CED82C7AE@gmail.com> I forgot to add that it compiles correctly, but then I get the runtime error Sent from my iPhone > On Nov 13, 2020, at 11:02, Larry Dalton wrote: > > This is only when I try to compile on Lazarus 2.0.6 on Windows. The project works fine on 2.0.10 on Linux. Any ideas? > > Sent from my iPhone > >> On Nov 13, 2020, at 10:58, Larry Dalton wrote: >> >> Error code “Project ****** raised exception class ‘EReadError with unknown property ‘AutoCommit’ >> >> Sent from my iPhone From michael at freepascal.org Fri Nov 13 17:06:37 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Fri, 13 Nov 2020 17:06:37 +0100 (CET) Subject: [Lazarus] AutoCommit In-Reply-To: <71906E8F-A63A-4674-9471-4A1CED82C7AE@gmail.com> References: <9784CCBF-0463-4B64-B6F0-1F7939249664@gmail.com> <71906E8F-A63A-4674-9471-4A1CED82C7AE@gmail.com> Message-ID: Your .lfm file contains a property "autocommit" that exists in 2.0.10 but not in 2.0.6. I think 2.0.10 is based on FPC 3.2.0 and 2.0.6 was still based on 3.0.4. A lot of new properties appeared between 3.0.4 and 3.2.0. Michael. On Fri, 13 Nov 2020, Larry Dalton via lazarus wrote: > I forgot to add that it compiles correctly, but then I get the runtime error > > Sent from my iPhone > >> On Nov 13, 2020, at 11:02, Larry Dalton wrote: >> >> This is only when I try to compile on Lazarus 2.0.6 on Windows. The project works fine on 2.0.10 on Linux. Any ideas? >> >> Sent from my iPhone >> >>> On Nov 13, 2020, at 10:58, Larry Dalton wrote: >>> >>> Error code “Project ****** raised exception class ‘EReadError with unknown property ‘AutoCommit’ >>> >>> Sent from my iPhone > -- > _______________________________________________ > lazarus mailing list > lazarus at lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus From larrydalton71 at gmail.com Fri Nov 13 17:19:16 2020 From: larrydalton71 at gmail.com (Larry Dalton) Date: Fri, 13 Nov 2020 11:19:16 -0500 Subject: [Lazarus] AutoCommit In-Reply-To: References: Message-ID: So we lose some backwards portability? Sent from my iPhone > On Nov 13, 2020, at 11:06, Michael Van Canneyt wrote: > >  > Your .lfm file contains a property "autocommit" that exists in 2.0.10 but not in 2.0.6. > I think 2.0.10 is based on FPC 3.2.0 and 2.0.6 was still based on 3.0.4. > > A lot of new properties appeared between 3.0.4 and 3.2.0. > > Michael. > >> On Fri, 13 Nov 2020, Larry Dalton via lazarus wrote: >> >> I forgot to add that it compiles correctly, but then I get the runtime error >> Sent from my iPhone >> >>>> On Nov 13, 2020, at 11:02, Larry Dalton wrote: >>> This is only when I try to compile on Lazarus 2.0.6 on Windows. The project works fine on 2.0.10 on Linux. Any ideas? >>> Sent from my iPhone >>>> On Nov 13, 2020, at 10:58, Larry Dalton wrote: >>>> Error code “Project ****** raised exception class ‘EReadError with unknown property ‘AutoCommit’ >>>> Sent from my iPhone >> -- >> _______________________________________________ >> lazarus mailing list >> lazarus at lists.lazarus-ide.org >> https://lists.lazarus-ide.org/listinfo/lazarus From larrydalton71 at gmail.com Fri Nov 13 17:47:09 2020 From: larrydalton71 at gmail.com (Larry Dalton) Date: Fri, 13 Nov 2020 11:47:09 -0500 Subject: [Lazarus] AutoCommit In-Reply-To: <4848228c-5cc0-5aa0-7e58-963b22c64521@gmsystems.pl> References: <4848228c-5cc0-5aa0-7e58-963b22c64521@gmsystems.pl> Message-ID: This problem was brought to light when I couldn’t get 2.0.10 apps to hook up to MySQL on Windows. I have no problem on my Linux box. Sent from my iPhone > On Nov 13, 2020, at 11:34, Michał Gawrycki wrote: > > Remove this property from lfm file and set it by code if needed (maybe along with ifdef). > > Michał. > > W dniu 2020-11-13 o 17:19, Larry Dalton via lazarus pisze: >> So we lose some backwards portability? >> Sent from my iPhone >>>> On Nov 13, 2020, at 11:06, Michael Van Canneyt wrote: >>> >>>  >>> Your .lfm file contains a property "autocommit" that exists in 2.0.10 but not in 2.0.6. >>> I think 2.0.10 is based on FPC 3.2.0 and 2.0.6 was still based on 3.0.4. >>> >>> A lot of new properties appeared between 3.0.4 and 3.2.0. >>> >>> Michael. >>> >>>> On Fri, 13 Nov 2020, Larry Dalton via lazarus wrote: >>>> >>>> I forgot to add that it compiles correctly, but then I get the runtime error >>>> Sent from my iPhone >>>> >>>>>> On Nov 13, 2020, at 11:02, Larry Dalton wrote: >>>>> This is only when I try to compile on Lazarus 2.0.6 on Windows. The project works fine on 2.0.10 on Linux. Any ideas? >>>>> Sent from my iPhone >>>>>> On Nov 13, 2020, at 10:58, Larry Dalton wrote: >>>>>> Error code “Project ****** raised exception class ‘EReadError with unknown property ‘AutoCommit’ >>>>>> Sent from my iPhone >>>> -- >>>> _______________________________________________ >>>> lazarus mailing list >>>> lazarus at lists.lazarus-ide.org >>>> https://lists.lazarus-ide.org/listinfo/lazarus > > -- > > > GM Systems > ul. K.Marksa 9 > 58-260 Bielawa > tel. +48 694 178 276 > http://www.gmsystems.pl/ From michael at freepascal.org Fri Nov 13 17:47:35 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Fri, 13 Nov 2020 17:47:35 +0100 (CET) Subject: [Lazarus] AutoCommit In-Reply-To: References: Message-ID: Yes, but that's always so when properties are added to components. Michael. On Fri, 13 Nov 2020, Larry Dalton wrote: > So we lose some backwards portability? > > Sent from my iPhone > >> On Nov 13, 2020, at 11:06, Michael Van Canneyt wrote: >> >>  >> Your .lfm file contains a property "autocommit" that exists in 2.0.10 but not in 2.0.6. >> I think 2.0.10 is based on FPC 3.2.0 and 2.0.6 was still based on 3.0.4. >> >> A lot of new properties appeared between 3.0.4 and 3.2.0. >> >> Michael. >> >>> On Fri, 13 Nov 2020, Larry Dalton via lazarus wrote: >>> >>> I forgot to add that it compiles correctly, but then I get the runtime error >>> Sent from my iPhone >>> >>>>> On Nov 13, 2020, at 11:02, Larry Dalton wrote: >>>> This is only when I try to compile on Lazarus 2.0.6 on Windows. The project works fine on 2.0.10 on Linux. Any ideas? >>>> Sent from my iPhone >>>>> On Nov 13, 2020, at 10:58, Larry Dalton wrote: >>>>> Error code “Project ****** raised exception class ‘EReadError with unknown property ‘AutoCommit’ >>>>> Sent from my iPhone >>> -- >>> _______________________________________________ >>> lazarus mailing list >>> lazarus at lists.lazarus-ide.org >>> https://lists.lazarus-ide.org/listinfo/lazarus > From lazarus at kluug.net Fri Nov 13 20:30:28 2020 From: lazarus at kluug.net (Ondrej Pokorny) Date: Fri, 13 Nov 2020 20:30:28 +0100 Subject: [Lazarus] AutoCommit In-Reply-To: References: Message-ID: <461bb349-e139-3b0d-8bd1-2e1b4615bb61@kluug.net> Usually we try to use the "default" feature of the newly added properties so that they are streamed only when really set and used. When they are not used, the LFM can still be loaded in a legacy version of Lazarus because the new properties are not streamed. Ondrej On 13.11.2020 17:47, Michael Van Canneyt via lazarus wrote: > > Yes, but that's always so when properties are added to components. > > Michael. > > On Fri, 13 Nov 2020, Larry Dalton wrote: > >> So we lose some backwards portability? >> >> Sent from my iPhone >> >>> On Nov 13, 2020, at 11:06, Michael Van Canneyt >>> wrote: >>> >>>  >>> Your .lfm file contains a property "autocommit" that exists in >>> 2.0.10 but not in 2.0.6. >>> I think 2.0.10 is based on FPC 3.2.0 and 2.0.6 was still based on >>> 3.0.4. >>> >>> A lot of new properties appeared between 3.0.4 and 3.2.0. >>> >>> Michael. >>> >>>> On Fri, 13 Nov 2020, Larry Dalton via lazarus wrote: >>>> >>>> I forgot to add that it compiles correctly, but then I get the >>>> runtime error >>>> Sent from my iPhone >>>> >>>>>> On Nov 13, 2020, at 11:02, Larry Dalton >>>>>> wrote: >>>>> This is only when I try to compile on Lazarus 2.0.6 on Windows. >>>>> The project works fine on 2.0.10 on Linux. Any ideas? >>>>> Sent from my iPhone >>>>>> On Nov 13, 2020, at 10:58, Larry Dalton >>>>>> wrote: >>>>>> Error code “Project ****** raised exception class ‘EReadError >>>>>> with unknown property ‘AutoCommit’ >>>>>> Sent from my iPhone >>>> -- >>>> _______________________________________________ >>>> lazarus mailing list >>>> lazarus at lists.lazarus-ide.org >>>> https://lists.lazarus-ide.org/listinfo/lazarus >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From juha.manninen62 at gmail.com Fri Nov 13 21:23:54 2020 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Fri, 13 Nov 2020 22:23:54 +0200 Subject: [Lazarus] AutoCommit In-Reply-To: References: Message-ID: On Fri, Nov 13, 2020 at 6:19 PM Larry Dalton via lazarus < lazarus at lists.lazarus-ide.org> wrote: > So we lose some backwards portability? > IIRC it has been called "forward compatibility" as opposed to "backward compatibility". Backward compatibility means your old code works in new versions of FPC/LCL/Lazarus. The other direction is not guaranteed. New code cannot always be used in old versions. Juha -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael at freepascal.org Fri Nov 13 22:37:06 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Fri, 13 Nov 2020 22:37:06 +0100 (CET) Subject: [Lazarus] AutoCommit In-Reply-To: <461bb349-e139-3b0d-8bd1-2e1b4615bb61@kluug.net> References: <461bb349-e139-3b0d-8bd1-2e1b4615bb61@kluug.net> Message-ID: On Fri, 13 Nov 2020, Ondrej Pokorny via lazarus wrote: > Usually we try to use the "default" feature of the newly added properties so > that they are streamed only when really set and used. When they are not used, > the LFM can still be loaded in a legacy version of Lazarus because the new > properties are not streamed. I set defaults on all boolean properties of sqlscript, rev. 47412 Strange, I thought that boolean properties were not streamed if they had value 'false'. Michael. From pascaldragon at googlemail.com Sat Nov 14 00:55:39 2020 From: pascaldragon at googlemail.com (Sven Barth) Date: Sat, 14 Nov 2020 00:55:39 +0100 Subject: [Lazarus] AutoCommit In-Reply-To: References: <461bb349-e139-3b0d-8bd1-2e1b4615bb61@kluug.net> Message-ID: Michael Van Canneyt via lazarus schrieb am Fr., 13. Nov. 2020, 22:37: > > > On Fri, 13 Nov 2020, Ondrej Pokorny via lazarus wrote: > > > Usually we try to use the "default" feature of the newly added > properties so > > that they are streamed only when really set and used. When they are not > used, > > the LFM can still be loaded in a legacy version of Lazarus because the > new > > properties are not streamed. > > I set defaults on all boolean properties of sqlscript, rev. 47412 > > Strange, I thought that boolean properties were not streamed if they had > value 'false'. > No, cause their intended default value could be True. Thus no special handling for them. Regards, Sven > -------------- next part -------------- An HTML attachment was scrubbed... URL: From lazarus at kluug.net Sat Nov 14 06:56:54 2020 From: lazarus at kluug.net (Ondrej Pokorny) Date: Sat, 14 Nov 2020 06:56:54 +0100 Subject: [Lazarus] AutoCommit In-Reply-To: References: <461bb349-e139-3b0d-8bd1-2e1b4615bb61@kluug.net> Message-ID: <13fd0b07-68dc-ade8-b917-84ca9c2ad918@kluug.net> On 13.11.2020 22:37, Michael Van Canneyt via lazarus wrote: > On Fri, 13 Nov 2020, Ondrej Pokorny via lazarus wrote: >> Usually we try to use the "default" feature of the newly added >> properties so that they are streamed only when really set and used. >> When they are not used, the LFM can still be loaded in a legacy >> version of Lazarus because the new properties are not streamed. > > I set defaults on all boolean properties of sqlscript, rev. 47412 > > Strange, I thought that boolean properties were not streamed if they > had value 'false'. The FPC documentation is spot on about the stored/default modifiers: https://www.freepascal.org/docs-html/ref/refsu38.html Only "/String, floating-point and pointer properties have implicit////default//value of empty string, 0 or nil, respectively. Ordinal and set properties have no implicit//default//value./" I polished the docs section in r1777 a little bit. Then I saw the next chapter "Overriding properties". It wrongly described redeclaring of properties as overriding. I fixed that as well in r1778. Ondrej -------------- next part -------------- An HTML attachment was scrubbed... URL: From lazarus at kluug.net Sat Nov 14 07:01:12 2020 From: lazarus at kluug.net (Ondrej Pokorny) Date: Sat, 14 Nov 2020 07:01:12 +0100 Subject: [Lazarus] AutoCommit In-Reply-To: References: Message-ID: On 13.11.2020 21:23, Juha Manninen via lazarus wrote: > On Fri, Nov 13, 2020 at 6:19 PM Larry Dalton via lazarus > > > wrote: > > So we lose some backwards portability? > > > IIRC it has been called "forward compatibility" as opposed to > "backward compatibility". > Backward compatibility means your old code works in new versions of > FPC/LCL/Lazarus. > The other direction is not guaranteed. New code cannot always be used > in old versions. Exactly. Although in case of LFM streaming we usually try to help with default property values as we discussed before. And yes, I usually forget to add the default values as well :) Ondrej -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael at freepascal.org Sat Nov 14 11:26:29 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Sat, 14 Nov 2020 11:26:29 +0100 (CET) Subject: [Lazarus] AutoCommit In-Reply-To: <13fd0b07-68dc-ade8-b917-84ca9c2ad918@kluug.net> References: <461bb349-e139-3b0d-8bd1-2e1b4615bb61@kluug.net> <13fd0b07-68dc-ade8-b917-84ca9c2ad918@kluug.net> Message-ID: On Sat, 14 Nov 2020, Ondrej Pokorny wrote: > On 13.11.2020 22:37, Michael Van Canneyt via lazarus wrote: >> On Fri, 13 Nov 2020, Ondrej Pokorny via lazarus wrote: >>> Usually we try to use the "default" feature of the newly added properties >>> so that they are streamed only when really set and used. When they are not >>> used, the LFM can still be loaded in a legacy version of Lazarus because >>> the new properties are not streamed. >> >> I set defaults on all boolean properties of sqlscript, rev. 47412 >> >> Strange, I thought that boolean properties were not streamed if they had >> value 'false'. > The FPC documentation is spot on about the stored/default modifiers: > https://www.freepascal.org/docs-html/ref/refsu38.html > > Only "/String, floating-point and pointer properties have > implicit////default//value of empty string, 0 or nil, respectively. Ordinal > and set properties have no implicit//default//value./" Indeed. > > I polished the docs section in r1777 a little bit. Well done, thank you ! > > Then I saw the next chapter "Overriding properties". It wrongly described > redeclaring of properties as overriding. I fixed that as well in r1778. I think the difference is rather artificial, but if you think this is better: great. Thank you for your efforts ! Michael. From lazarus at kluug.net Sat Nov 14 12:24:12 2020 From: lazarus at kluug.net (Ondrej Pokorny) Date: Sat, 14 Nov 2020 12:24:12 +0100 Subject: [Lazarus] AutoCommit In-Reply-To: References: <461bb349-e139-3b0d-8bd1-2e1b4615bb61@kluug.net> <13fd0b07-68dc-ade8-b917-84ca9c2ad918@kluug.net> Message-ID: <9b4d61b3-2dd2-08a7-75ee-e00fb68ae78a@kluug.net> On 14.11.2020 11:26, Michael Van Canneyt wrote: > On Sat, 14 Nov 2020, Ondrej Pokorny wrote: >> Then I saw the next chapter "Overriding properties". It wrongly >> described redeclaring of properties as overriding. I fixed that as >> well in r1778. > > I think the difference is rather artificial, but if you think this is > better: great. You are right. I didn't know one can override also read/write specifiers (I thought one must redeclare the property in that case):   TAncestor = class(TComponent)   private     fPropName: string;   published     property PropName: string read fPropName write fPropName;   end;   TOverride = class(TAncestor)   private     fPropName2: string;   published     property PropName read fPropName2 write fPropName2; // no type declaration   end; But anyway as stated in the Delphi docs http://docwiki.embarcadero.com/RADStudio/Sydney/en/Properties_(Delphi)#Property_Overrides_and_Redeclarations : /Whether a property is hidden or overridden in a derived class, property look-up is always static./ So you are right - there is no real difference in property override/reintroduce like there is override/overload/reintroduce difference in object methods. I'll make that more clear in FPC docs. Ondrej -------------- next part -------------- An HTML attachment was scrubbed... URL: From juha.manninen62 at gmail.com Sat Nov 14 17:17:46 2020 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Sat, 14 Nov 2020 18:17:46 +0200 Subject: [Lazarus] Project Group error ? Message-ID: Regarding issue : https://bugs.freepascal.org/view.php?id=38011 People with easy access to Windows, please check if you can reproduce the problem? Regards, Juha -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael at freepascal.org Sat Nov 14 18:02:27 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Sat, 14 Nov 2020 18:02:27 +0100 (CET) Subject: [Lazarus] AutoCommit In-Reply-To: References: <461bb349-e139-3b0d-8bd1-2e1b4615bb61@kluug.net> Message-ID: On Sat, 14 Nov 2020, Sven Barth via lazarus wrote: > Michael Van Canneyt via lazarus schrieb am > Fr., 13. Nov. 2020, 22:37: > >> >> >> On Fri, 13 Nov 2020, Ondrej Pokorny via lazarus wrote: >> >>> Usually we try to use the "default" feature of the newly added >> properties so >>> that they are streamed only when really set and used. When they are not >> used, >>> the LFM can still be loaded in a legacy version of Lazarus because the >> new >>> properties are not streamed. >> >> I set defaults on all boolean properties of sqlscript, rev. 47412 >> >> Strange, I thought that boolean properties were not streamed if they had >> value 'false'. >> > > No, cause their intended default value could be True. Thus no special > handling for them. You can of course say the same for all other types for which an implicit 'default' is implemented. The more so because a class is initialized with 0 in which case every enumerated and boolean will be ord(0) unless otherwise initialized in the constructor. So I don't see why this rule is not applied to all properties, I don't think it is logical. Michael. From pascaldragon at googlemail.com Sat Nov 14 18:19:37 2020 From: pascaldragon at googlemail.com (Sven Barth) Date: Sat, 14 Nov 2020 18:19:37 +0100 Subject: [Lazarus] Project Group error ? In-Reply-To: References: Message-ID: Am 14.11.2020 um 17:17 schrieb Juha Manninen via lazarus: > Regarding issue : > https://bugs.freepascal.org/view.php?id=38011 > > People with easy access to Windows, please check if you can reproduce > the problem? > I've replied in the bug report. Regards, Sven From lazarus at kluug.net Sun Nov 15 06:38:04 2020 From: lazarus at kluug.net (Ondrej Pokorny) Date: Sun, 15 Nov 2020 06:38:04 +0100 Subject: [Lazarus] AutoCommit In-Reply-To: References: <461bb349-e139-3b0d-8bd1-2e1b4615bb61@kluug.net> Message-ID: <8587fa26-efbf-e3db-fa86-8f4539afdec9@kluug.net> On 14.11.2020 18:02, Michael Van Canneyt via lazarus wrote: > On Sat, 14 Nov 2020, Sven Barth via lazarus wrote: >> No, cause their intended default value could be True. Thus no special >> handling for them. > > You can of course say the same for all other types for which an > implicit 'default' > is implemented. The more so because a class is initialized with 0 in > which > case every enumerated and boolean will be ord(0) unless otherwise > initialized in the constructor. > > So I don't see why this rule is not applied to all properties, I don't > think > it is logical. I agree. One would not expect the implicit default values for string/real/pointer properties. And then people wonder why their empty string properties are not streamed: TMyClass = class published   property MyString: string read FString write FString stored IsMyStringStored; end; constructor TMyClass.Create; begin   FMyString := 'abc'; end; function TMyClass.IsMyStringStored: Boolean; begin   Result := FMyString<>'abc'; end; What's wrong? -> The nodefault is missing in order the empty string be streamed:   property MyString: string read FString write FString stored IsMyStringStored nodefault; Not logical, not intuitive, but that is how it works and is documented :/ Ondrej From bo.berglund at gmail.com Mon Nov 16 11:43:09 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Mon, 16 Nov 2020 11:43:09 +0100 Subject: [Lazarus] Cannot close Windows 10 application with a bkClose TBitBtn button... Message-ID: Lazarus 2.0.10 FPC 3.2.0 on Windows 10 I create a new application and place a TBitBtn on a panel at the bottom of the main form. I set the Kind property to bkClose. Now I expect the application to close when I click this button, like it does on Delphi for the same type of button. But when I run this test application it does not react to the click on this button at all! The only way to close the program is to click the X at the upper right corner of the application window. I even tried adding this to the OnClick event: Close; //Does not work. frmMain.Close; //Does not work either If I put a breakpoint at the OnClick event it does not even get there when debugging... What have I missed? I am testing methods to use transparent (see-through) forms and this test is done using code from this webpage: http://lazplanet.blogspot.com/2013/04/make-your-forms-transparent.html My form is made transparent via the background color but on it there is a non-transparent panel at the bottom (it does not inherit the parent color) and this is where the button is placed. Does the form's transparency block mouse clicks from non-transparent components placed on the form? -- Bo Berglund Developer in Sweden From bartjunk64 at gmail.com Mon Nov 16 13:04:04 2020 From: bartjunk64 at gmail.com (Bart) Date: Mon, 16 Nov 2020 13:04:04 +0100 Subject: [Lazarus] Cannot close Windows 10 application with a bkClose TBitBtn button... In-Reply-To: References: Message-ID: On Mon, Nov 16, 2020 at 11:43 AM Bo Berglund via lazarus wrote: > I create a new application and place a TBitBtn on a panel at the > bottom of the main form. I set the Kind property to bkClose. > > Now I expect the application to close when I click this button, like > it does on Delphi for the same type of button. IIRC then having a button with a ModalResult on the application's main form in Delphi does not close that form. In Lazarus it did in the past, but this was changed (long time ago), to be consistent with Delphi behaviour. -- Bart From bo.berglund at gmail.com Mon Nov 16 15:06:43 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Mon, 16 Nov 2020 15:06:43 +0100 Subject: [Lazarus] Cannot close Windows 10 application with a bkClose TBitBtn button... References: Message-ID: <6n15rf1p8onus0citph924eo1jl7f5h3je@4ax.com> On Mon, 16 Nov 2020 13:04:04 +0100, Bart via lazarus wrote: >On Mon, Nov 16, 2020 at 11:43 AM Bo Berglund via lazarus > wrote: > >> I create a new application and place a TBitBtn on a panel at the >> bottom of the main form. I set the Kind property to bkClose. >> >> Now I expect the application to close when I click this button, like >> it does on Delphi for the same type of button. > >IIRC then having a button with a ModalResult on the application's main >form in Delphi does not close that form. >In Lazarus it did in the past, but this was changed (long time ago), >to be consistent with Delphi behaviour. > But... If I place for instance a ShowMessage() call in the OnClick event of the button it DOES NOT show up! And if I place a breakpoint there it too does not break. So somehow this business of setting the form transparent robs it of any mouse event too... Even if the control clicked on is in fact not transparent. -- Bo Berglund Developer in Sweden From bartjunk64 at gmail.com Mon Nov 16 16:39:19 2020 From: bartjunk64 at gmail.com (Bart) Date: Mon, 16 Nov 2020 16:39:19 +0100 Subject: [Lazarus] Cannot close Windows 10 application with a bkClose TBitBtn button... In-Reply-To: <6n15rf1p8onus0citph924eo1jl7f5h3je@4ax.com> References: <6n15rf1p8onus0citph924eo1jl7f5h3je@4ax.com> Message-ID: On Mon, Nov 16, 2020 at 3:06 PM Bo Berglund via lazarus wrote: > But... > If I place for instance a ShowMessage() call in the OnClick event of > the button it DOES NOT show up! > And if I place a breakpoint there it too does not break. > > So somehow this business of setting the form transparent robs it of > any mouse event too... > Even if the control clicked on is in fact not transparent. Sorry, can't help you with that. -- Bart From bartjunk64 at gmail.com Mon Nov 16 18:21:30 2020 From: bartjunk64 at gmail.com (Bart) Date: Mon, 16 Nov 2020 18:21:30 +0100 Subject: [Lazarus] Cannot close Windows 10 application with a bkClose TBitBtn button... In-Reply-To: References: Message-ID: On Mon, Nov 16, 2020 at 1:04 PM Bart wrote: > IIRC then having a button with a ModalResult on the application's main > form in Delphi does not close that form. I just tested (Delphi and Lazarus): a TBitButton with Lind = bkClose on the MainForm indeed closes the application. Furthermore, the OnClick event handler is NOT executed in this case. This is Delphi compatible (at least compatible with Delphi 7) -- Bart From bartjunk64 at gmail.com Mon Nov 16 18:31:13 2020 From: bartjunk64 at gmail.com (Bart) Date: Mon, 16 Nov 2020 18:31:13 +0100 Subject: [Lazarus] Cannot close Windows 10 application with a bkClose TBitBtn button... In-Reply-To: References: Message-ID: On Mon, Nov 16, 2020 at 6:21 PM Bart wrote: Can you upload a basic example (1 form, 1 bitbutton) where you set the transparency of the form. Without actual code (also the lfm) it's hard to test. -- Bart From bo.berglund at gmail.com Mon Nov 16 19:27:45 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Mon, 16 Nov 2020 19:27:45 +0100 Subject: [Lazarus] Cannot close Windows 10 application with a bkClose TBitBtn button... - TestTransparency.zip (0/1) References: Message-ID: <03h5rf99mbb67dqttqn18ns5f21a0r7em3@4ax.com> On Mon, 16 Nov 2020 18:31:13 +0100, Bart via lazarus wrote: >On Mon, Nov 16, 2020 at 6:21 PM Bart wrote: > >Can you upload a basic example (1 form, 1 bitbutton) where you set the >transparency of the form. >Without actual code (also the lfm) it's hard to test. > Attaching a zip with the test code. -- Bo Berglund Developer in Sweden From bo.berglund at gmail.com Mon Nov 16 19:27:46 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Mon, 16 Nov 2020 19:27:46 +0100 Subject: [Lazarus] Cannot close Windows 10 application with a bkClose TBitBtn button... - TestTransparency.zip (1/1) References: Message-ID: <25h5rf15hc0mdsjaj5ag6qekeadgflpe67@4ax.com> begin 644 TestTransparency.zip M4$L#!!0``@`(`/::<%&H)6P2FP(``!P(```4````5&5S=%1R86YS<&%R96YC M>2YL<&FM54UOVD`0O5?J?["L',(AF(]+#YM&Q$"$E`04(.TAE\4,L,UZU]U= MM^'?=Q;\L3:82E4/ENS9F?=FWLRLR=U'S+U?H#23XM;OMCN^!R*2:R:VM_YR M,;[YXM]]_?R)A-/G\>0!WSR/S)3\`9&9)@:#],&&UM0H(U?6#_&A& MS6X(G,7YX5MY]@`"%.79)QKFH"W.W$A%MY!'3$3&.F2J"$;O)\K$4C"3^W7< MPP4SO$!8@#8+185.J,(2]Z[C/*(/V,>AU MMF02G`4F+ZF8445CAVDL54S-);Y*[:Y0=31L\L^4*5C/:/2.<]4/8?2'G1<2BN?8-ZA^C.O73JC^%T9T#&6<2`'"N`IN5&RWNNJ9[^`]U1!RJHO9 ML3-0=;6)NWC6HP9X++9LRT'^X^46G+G=#GEB]>K_7'D+JK;@+//?6NJ,;244 MKTJJHIVEK@]K5HAT=6VKFJ;V]FQ5]A$+1W-R.,&JI=KG,9RMWJZN MCX3A;-FZR3^F\Y:3T6D.Y)&)=_Q_E"SU*P)-WYCH]QR#_1,HFNQ8-$@2SB)J M'&%/!R>HQI. at UIG`S8$$Y_I'AK!*M]LR43+ZB.#HD&]B_]+RNS,V&JRD,HV+ MGX7W&L-#O*>,E'RDE%0G,+TJ3+\19CQ-0)S'Z!?2E&5FZKA"H%;YG_X/4$L# M!!0``@`(`$I7<%'DP,?^"`$``*@!```4````5&5S=%1R86YS<&%R96YC>2YL M<')U4#UO at S`0W9'X#S_?>NSN/1G>&#=`@V<8P12,SJ/AQ'4=Q-"6#%@AZ_]&.?)Z2Y_LYT(Z0 MX at A@2JJRV)3PMJO>YW]`F#<'@TS0'$3<+B!=')M=497S7PUQK&7G%FI M5?;*68_B2K/RLR7KY<]E*_Y\DF4;3.)I&- at JZWIW@.2J%9]U\1P5PHPW-(X>N M at 5-'N.KIS.NCZ(0L.3N:*ZDW=^RX?7I+WWF$`=0\5V)%:W#TCDJ].Z=U>Y1X M$8T9".7]/S4O<3H>W>V/R$':]PH!>NKB^FE!<(XCNS#:O69 at SL M!AO*]]#K8^8%QH'7CX2SNC4'?"N+A[!W,P#1F(7]V<\?4$L#!!0``@`(`/:: M<%$^_LT;XP,``%8)```,````9F]R;6UA:6XN<&%SG55;;^(X%'Y'XC^<5I4* MLQ0H[,,(5*V`,E`M':K"+.U391)#/#5VY)R4LJC_?8_CA-NP=+5YB<_%Y^[O MQ$H@?--F<<^$:N9SZS&/4*@Y>-KG,#-Z`0%BV*A4)/L[E$QQ+$^EGD>AQK*G M%Y5:];I>J?Y>6;!7?K72L;F:D;7H"@U34<@,5U at .<"$_\CFR?K&P9O7TYRST M/M87_=\2ME#(S8QYW!)QQ*-\#J`C643'DCV/5M$/%-(1-EIWZFB%1J?LGF%A M(#Q'W`IF at RS!"/T.&E*![CNFIW:,J)53G`CEZV74M)X]8F(^-YBT7CK#P?#Q MS^XSW,!UT[%:@X=^B^A:2K>'XSZ1=2(GHY?NT\N@]=Q][-X2[^)KE3X2]"8# MDHS&SX,NL:]JU<0/U>%;K#P46L&(XX"MN.&^BZ2%:,0T1A[!0$SAG*IAZK5S M*+17?S$)P43YT"*95G-*).%UM-3FD/ED&>T5\HS!9!BP3*N82+66G"F@%LS^ M0S@%Z[MA;U.[FL[KEGQJ6&=-YR9C%QM3\@$1^AZ3L at G\G?JL*)C+'Z/N8[UV MF91CK31"%!L. at 5X":K(A6`08\(@F,(TL at H"B at C_H`T at U(H[+)$I)[MC9V<=! M85T*-I;]6K:2V^=[&JV3)59WRN?OAUQ_^9T[\[ME31 at 4RO%(6H=U=*8;,J,W M1C-6,3M\6L>-Q]ZGN??^;^['4^P=I`BG!8F"F,+"D4K`IBBZDA-L].`<5M@&RVN64&H9%O3TU]8R0-!FU(X;T61ISB-E9[./W)/2S^HF_==@QGR/]%.33BC:0N[#">DEUW)NVD M:V_,6#)+J+')+9&*12CY at C"4V3H["'V$+V4Y6R2EV$9"4S:VD"MCC]0+XX`G M/8"#![NE5:+>@#L"WSDW-MPT%I8\^LU(YG-33@>7^GK_73&:EQ.80?`/K8>[ M[2LNT:/E<#^Z_0ZT)L#GR`C6;5NM<><8&C<'`Y5E4X(=0,V:ET)*.MIV()_-P`7 M=CE6:]UN,WW>%@.2YL<&D*`"````````$`&`"0QZ.=1;S6`9#'HYU%O-8!D&Q^\?Z[ MU@%02P$"%``4``(`"`!*5W!1Y,#'_@@!``"H`0``%``D```````!`"````#- M`@``5&5S=%1R86YS<&%R96YC>2YL<'(*`"````````$`&`!P!X0"_[O6`7`' MA`+_N]8!<(&L\?Z[U@%02P$"%``4``(`"`#VFG!1KG?LW6,!```.`P``#``D M```````!`"`````'!```9F]R;6UA:6XN;&9M"@`@```````!`!@`8*6JG46\ MU@%@I:J=1;S6`;#,2_G^N]8!4$L!`A0`%``"``@`]IIP43[^S1OC`P``5 at D` M``P`)````````0`@````E`4``&9O References: Message-ID: <00a801d6bc46$932f94f0$b98ebed0$@gmail.com> For some reason my news reader would not transfer the zipped archive with the sources. So here goes another attempt using my email instead. Attached is the zipped project. /Bo B -----Original Message----- From: Bart Sent: Monday, 16 November 2020 18:31 To: bo.berglund at gmail.com; Lazarus mailing list Subject: Re: [Lazarus] Cannot close Windows 10 application with a bkClose TBitBtn button... On Mon, Nov 16, 2020 at 6:21 PM Bart wrote: Can you upload a basic example (1 form, 1 bitbutton) where you set the transparency of the form. Without actual code (also the lfm) it's hard to test. -- Bart -------------- next part -------------- A non-text attachment was scrubbed... Name: TestTransparency.zip Type: application/x-zip-compressed Size: 2879 bytes Desc: not available URL: From getmem1 at gmail.com Mon Nov 16 20:54:40 2020 From: getmem1 at gmail.com (=?UTF-8?B?QmFsw6F6cyBTesOpa2VseQ==?=) Date: Mon, 16 Nov 2020 21:54:40 +0200 Subject: [Lazarus] Cannot close Windows 10 application with a bkClose TBitBtn button... In-Reply-To: <00a801d6bc46$932f94f0$b98ebed0$@gmail.com> References: <00a801d6bc46$932f94f0$b98ebed0$@gmail.com> Message-ID: Hi Bo, Please check the following forum post: https://forum.lazarus.freepascal.org/index.php/topic,52155.msg383939.html#msg383939 On Mon, Nov 16, 2020 at 8:30 PM Bo Berglund via lazarus < lazarus at lists.lazarus-ide.org> wrote: > For some reason my news reader would not transfer the zipped archive with > the sources. > So here goes another attempt using my email instead. Attached is the > zipped project. > > /Bo B > > -----Original Message----- > From: Bart > Sent: Monday, 16 November 2020 18:31 > To: bo.berglund at gmail.com; Lazarus mailing list < > lazarus at lists.lazarus-ide.org> > Subject: Re: [Lazarus] Cannot close Windows 10 application with a bkClose > TBitBtn button... > > On Mon, Nov 16, 2020 at 6:21 PM Bart wrote: > > Can you upload a basic example (1 form, 1 bitbutton) where you set the > transparency of the form. > Without actual code (also the lfm) it's hard to test. > > > -- > Bart > -- > _______________________________________________ > lazarus mailing list > lazarus at lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus > -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael at freepascal.org Wed Nov 18 08:43:00 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 18 Nov 2020 08:43:00 +0100 (CET) Subject: [Lazarus] Default project ? Message-ID: Hi, Is there a way to change the default project generated when the IDE starts ? If you tell the IDE not to reload the last project when starting, it creates a default GUI application. Since 99,99% of my programs are console programs, I looked for a setting to change this, but did not find one. If there is none, is it possible to add such a setting (I imagine yes :)) ? If so, should I post a feature request ? Michael. From bartjunk64 at gmail.com Wed Nov 18 09:04:41 2020 From: bartjunk64 at gmail.com (Bart) Date: Wed, 18 Nov 2020 09:04:41 +0100 Subject: [Lazarus] Default project ? In-Reply-To: References: Message-ID: On Wed, Nov 18, 2020 at 8:43 AM Michael Van Canneyt via lazarus wrote: > If you tell the IDE not to reload the last project when starting, it creates > a default GUI application. Since 99,99% of my programs are console programs, And it would be nice if you could define default compiler settings for console programs that differ from those used for GUI applications. ATM my debug settings for GUI applications depend on the LazUtils package, so that won't (be default) compile with console programs. -- Bart From lazarus at kluug.net Wed Nov 18 10:04:04 2020 From: lazarus at kluug.net (Ondrej Pokorny) Date: Wed, 18 Nov 2020 10:04:04 +0100 Subject: [Lazarus] Default project ? In-Reply-To: References: Message-ID: On 18.11.2020 09:04, Bart via lazarus wrote: > On Wed, Nov 18, 2020 at 8:43 AM Michael Van Canneyt via lazarus > wrote: > >> If you tell the IDE not to reload the last project when starting, it creates >> a default GUI application. Since 99,99% of my programs are console programs, > And it would be nice if you could define default compiler settings for > console programs that differ from those used for GUI applications. > ATM my debug settings for GUI applications depend on the LazUtils > package, so that won't (be default) compile with console programs. IMO better would be to have compiler settings presets (=named list). Then, of course, it's easy to implement to be able to pick up the default settings for each project type from the presets list. Also, I am bugged by the fact that I cannot delete the (currently global) default compiler settings that I once set. Ondrej From michael at freepascal.org Wed Nov 18 10:06:58 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 18 Nov 2020 10:06:58 +0100 (CET) Subject: [Lazarus] Default project ? In-Reply-To: References: Message-ID: On Wed, 18 Nov 2020, Bart via lazarus wrote: > On Wed, Nov 18, 2020 at 8:43 AM Michael Van Canneyt via lazarus > wrote: > >> If you tell the IDE not to reload the last project when starting, it creates >> a default GUI application. Since 99,99% of my programs are console programs, > > And it would be nice if you could define default compiler settings for > console programs that differ from those used for GUI applications. > ATM my debug settings for GUI applications depend on the LazUtils > package, so that won't (be default) compile with console programs. I'm curious: How can settings depend on a package for your program ? Michael. From bartjunk64 at gmail.com Wed Nov 18 12:38:25 2020 From: bartjunk64 at gmail.com (Bart) Date: Wed, 18 Nov 2020 12:38:25 +0100 Subject: [Lazarus] Default project ? In-Reply-To: References: Message-ID: On Wed, Nov 18, 2020 at 10:07 AM Michael Van Canneyt via lazarus wrote: > I'm curious: How can settings depend on a package for your program ? In debug buildmode I have -FaLazLogger,LCLExceptionStacktrace (compiler options->custom options). -- Bart From luca at wetron.es Wed Nov 18 15:32:50 2020 From: luca at wetron.es (Luca Olivetti) Date: Wed, 18 Nov 2020 15:32:50 +0100 Subject: [Lazarus] generics.collections code completion "cycle detected"? Message-ID: <8866b58e-ebd6-2ce3-1d70-1ba15bbd02b4@wetron.es> Hello, if I try code completion on a TDictionary from generics.collections, lazarus (2.0.10, fpc 3.2.0) I get the error Codetools, Errors: 1 generics.dictionariesh.inc(614,44) Error: cycle detected though the code compiles (with a ton of warnings and I didn't check if it works yet). Is it a know issue? Normally I use fgl but I wanted to try generics.collections, and I don't remember problems with code completion on the fgl classes. I found this https://lists.lazarus-ide.org/pipermail/lazarus/2016-August/229277.html but it was 4 years ago and a different error. Bye -- Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007 From pascal at riekenberg.eu Wed Nov 18 15:46:14 2020 From: pascal at riekenberg.eu (Pascal Riekenberg) Date: Wed, 18 Nov 2020 15:46:14 +0100 (CET) Subject: [Lazarus] generics.collections code completion "cycle detected"? In-Reply-To: <8866b58e-ebd6-2ce3-1d70-1ba15bbd02b4@wetron.es> References: <8866b58e-ebd6-2ce3-1d70-1ba15bbd02b4@wetron.es> Message-ID: <172346514.170984.1605710775277@ox.hosteurope.de> Please report it to bugtracker with a minimal sample. I'll have a look at it. Pascal > Luca Olivetti via lazarus hat am 18.11.2020 15:32 geschrieben: > > > Hello, > > if I try code completion on a TDictionary from generics.collections, > lazarus (2.0.10, fpc 3.2.0) I get the error > > > Codetools, Errors: 1 > generics.dictionariesh.inc(614,44) Error: cycle detected > > though the code compiles (with a ton of warnings and I didn't check if > it works yet). > Is it a know issue? > Normally I use fgl but I wanted to try generics.collections, and I don't > remember problems with code completion on the fgl classes. > > I found this > > https://lists.lazarus-ide.org/pipermail/lazarus/2016-August/229277.html > > but it was 4 years ago and a different error. > > Bye > -- > Luca Olivetti > Wetron Automation Technology http://www.wetron.es/ > Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007 > -- > _______________________________________________ > lazarus mailing list > lazarus at lists.lazarus-ide.org > https://lists.lazarus-ide.org/listinfo/lazarus From luca at wetron.es Wed Nov 18 16:09:01 2020 From: luca at wetron.es (Luca Olivetti) Date: Wed, 18 Nov 2020 16:09:01 +0100 Subject: [Lazarus] generics.collections code completion "cycle detected"? In-Reply-To: <172346514.170984.1605710775277@ox.hosteurope.de> References: <8866b58e-ebd6-2ce3-1d70-1ba15bbd02b4@wetron.es> <172346514.170984.1605710775277@ox.hosteurope.de> Message-ID: <131492bf-3abe-cb6e-e2f7-7bf1f6274a72@wetron.es> El 18/11/20 a les 15:46, Pascal Riekenberg via lazarus ha escrit: > Please report it to bugtracker with a minimal sample. I'll have a look at it. Done, https://bugs.freepascal.org/view.php?id=38100 Thank you. -- Luca Olivetti Wetron Automation Technology http://www.wetron.es/ Tel. +34 93 5883004 (Ext.3010) Fax +34 93 5883007 From bo.berglund at gmail.com Wed Nov 18 19:51:31 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Wed, 18 Nov 2020 19:51:31 +0100 Subject: [Lazarus] Default project ? References: Message-ID: On Wed, 18 Nov 2020 08:43:00 +0100 (CET), Michael Van Canneyt via lazarus wrote: >Is there a way to change the default project generated when the IDE starts ? Why is Lazarus creating an empty project on startup in the first place? I would like to suggest that they take that default project on startup away and start Lazarus without a project so the user can decide to either load an earlier worked on project or create a new project of the exact kind he wants to work with. Of course there should be a setting to tell Lazarus to start with the latest project reloaded, like it does now. Delphi has a command line option (-np) to not load the latest project on startup (defaults to load) and when used then it starts without a loaded project. Why change this behaviour? Especially since Lazarus crashes greatly if there is a problem with the last project and then it takes a detective to make it return to usable again since just restarting causes the same crash to occur again and again. Happened to me many times.... Please introduce the command line switch -np like in Delphi or make it a config item. -- Bo Berglund Developer in Sweden From michael at freepascal.org Wed Nov 18 20:08:14 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 18 Nov 2020 20:08:14 +0100 (CET) Subject: [Lazarus] Default project ? In-Reply-To: References: Message-ID: On Wed, 18 Nov 2020, Bo Berglund via lazarus wrote: > On Wed, 18 Nov 2020 08:43:00 +0100 (CET), Michael Van Canneyt via > lazarus wrote: > >> Is there a way to change the default project generated when the IDE starts ? > > Why is Lazarus creating an empty project on startup in the first > place? Because it needs a project. It cannot work without one, so it creates one. So if the hypothetical option -np would be implemented, you would definitely be presented with the same 'project wizard' dialog you get when you close the project with "Project - Close Project". Michael. From bo.berglund at gmail.com Wed Nov 18 20:43:33 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Wed, 18 Nov 2020 20:43:33 +0100 Subject: [Lazarus] Default project ? References: Message-ID: On Wed, 18 Nov 2020 20:08:14 +0100 (CET), Michael Van Canneyt via lazarus wrote: > > >On Wed, 18 Nov 2020, Bo Berglund via lazarus wrote: > >> On Wed, 18 Nov 2020 08:43:00 +0100 (CET), Michael Van Canneyt via >> lazarus wrote: >> >>> Is there a way to change the default project generated when the IDE starts ? >> >> Why is Lazarus creating an empty project on startup in the first >> place? > >Because it needs a project. It cannot work without one, so it creates one. > >So if the hypothetical option -np would be implemented, you would definitely be >presented with the same 'project wizard' dialog you get when you close the project >with "Project - Close Project". > OK, so if the last project opened is seriously flawed (for this Lazarus) and crashes Lazarus, how can one ever remedy that? In my case it has happened when I open an existing project in a new Lazarus installation without realizing that not all packages have been installed into Lazarus. Then it crashes and now I have no way to start Lazarus without it also opening the project that causes the crash. Eternal loop... So I cannot even get the access needed to install the needed package(s) (in this case it would be a package that requires a Lazarus rebuild)... It makes no sense to me to not at least (with a start argument?) be able to start Lazarus with a default project rather than the last loaded project which always crashes Lazarus. -- Bo Berglund Developer in Sweden From michael at freepascal.org Wed Nov 18 21:19:00 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Wed, 18 Nov 2020 21:19:00 +0100 (CET) Subject: [Lazarus] Default project ? In-Reply-To: References: Message-ID: On Wed, 18 Nov 2020, Bo Berglund via lazarus wrote: >> >> Because it needs a project. It cannot work without one, so it creates one. >> >> So if the hypothetical option -np would be implemented, you would definitely be >> presented with the same 'project wizard' dialog you get when you close the project >> with "Project - Close Project". >> > > OK, so if the last project opened is seriously flawed (for this > Lazarus) and crashes Lazarus, how can one ever remedy that? At this moment not without changing the config files manually, I think. But you could have a command-line option that allows to start Lazarus simply with an empty project instead of the last one. And that 'empty project' is what I want to have configurable... :-) Michael. From bo.berglund at gmail.com Wed Nov 18 21:31:44 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Wed, 18 Nov 2020 21:31:44 +0100 Subject: [Lazarus] Default project ? References: Message-ID: On Wed, 18 Nov 2020 21:19:00 +0100 (CET), Michael Van Canneyt via lazarus wrote: > > >On Wed, 18 Nov 2020, Bo Berglund via lazarus wrote: > >>> >>> Because it needs a project. It cannot work without one, so it creates one. >>> >>> So if the hypothetical option -np would be implemented, you would definitely be >>> presented with the same 'project wizard' dialog you get when you close the project >>> with "Project - Close Project". >>> >> >> OK, so if the last project opened is seriously flawed (for this >> Lazarus) and crashes Lazarus, how can one ever remedy that? > >At this moment not without changing the config files manually, I think. > >But you could have a command-line option that allows to start Lazarus simply >with an empty project instead of the last one. > >And that 'empty project' is what I want to have configurable... :-) > So, what is that command-line option then? Do I first need to create an empty project, which can be thrown at Lazarus on startup? Or is there a command line option like Delphi's -np also for Lazarus that I have missed? I pretty often install Lazarus/Fpc on new devices (often Raspberry Pi units) so I will now and then hit this problem if I forget to reconfigure base Lazarus with the packages I usually need. -- Bo Berglund Developer in Sweden From jmlandmesser at gmx.de Wed Nov 18 22:15:06 2020 From: jmlandmesser at gmx.de (John Landmesser) Date: Wed, 18 Nov 2020 22:15:06 +0100 Subject: [Lazarus] Default project ? In-Reply-To: References: Message-ID: Am 18.11.20 um 21:31 schrieb Bo Berglund via lazarus: > Especially since Lazarus crashes greatly if there is a problem with > the last project and then it takes a detective to make it return to > usable again since just restarting causes the same crash to occur > again and again. > Happened to me many times..... Use your filemanager to open the last working(!!) *.lpi ... rightclick ... open with ... From nc-gaertnma at netcologne.de Wed Nov 18 22:41:13 2020 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Wed, 18 Nov 2020 22:41:13 +0100 Subject: [Lazarus] Default project ? In-Reply-To: References: Message-ID: <20201118224113.126b1973@limapholos.matflo.wg> On Wed, 18 Nov 2020 20:43:33 +0100 Bo Berglund via lazarus wrote: >[...] > OK, so if the last project opened is seriously flawed (for this > Lazarus) and crashes Lazarus, how can one ever remedy that? > > In my case it has happened when I open an existing project in a new > Lazarus installation without realizing that not all packages have been > installed into Lazarus. > Then it crashes and now I have no way to start Lazarus without it also > opening the project that causes the crash. Eternal loop... That's strange, because Lazarus has a startprotocol. If the last project crashed the IDE, next time it will ask if it should open the project. How do you start Lazarus? Mattias From nc-gaertnma at netcologne.de Wed Nov 18 22:42:36 2020 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Wed, 18 Nov 2020 22:42:36 +0100 Subject: [Lazarus] Default project ? In-Reply-To: References: Message-ID: <20201118224236.1dacc784@limapholos.matflo.wg> On Wed, 18 Nov 2020 21:31:44 +0100 Bo Berglund via lazarus wrote: >[...] > So, what is that command-line option then? lazarus.exe -h > Do I first need to create an empty project, which can be thrown at > Lazarus on startup? > Or is there a command line option like Delphi's -np also for Lazarus > that I have missed? --skip-last-project Mattias From bo.berglund at gmail.com Wed Nov 18 23:09:34 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Wed, 18 Nov 2020 23:09:34 +0100 Subject: [Lazarus] Default project ? References: <20201118224113.126b1973@limapholos.matflo.wg> Message-ID: On Wed, 18 Nov 2020 22:41:13 +0100, Mattias Gaertner via lazarus wrote: >That's strange, because Lazarus has a startprotocol. If the last >project crashed the IDE, next time it will ask if it should open the >project. > >How do you start Lazarus? > I have desktop files in: ~/.local/share/applications/ These typically contains this (for the latest version I have), notice that my newsreader is autowrapping the Exec line: File lazarus_2.0.10.desktop: [Desktop Entry] Comment=Lazarus IDE 2.0.10 Terminal=false Name=Lazarus 2.0.10 Exec=/home/pi/dev/lazarus/2.0.10/startlazarus --pcp=/home/pi/.lazarus_2.0.10 %f Type=Application Icon=/home/pi/dev/lazarus/2.0.10/images/ide_icon48x48.png Categories=Application;IDE;Development;GTK;GUIDesigner;Programming; NoDisplay=false Keywords=editor;Pascal;IDE;FreePascal;fpc;Design;Designer; -- Bo Berglund Developer in Sweden From lazarus at mfriebe.de Thu Nov 19 00:24:11 2020 From: lazarus at mfriebe.de (Martin Frb) Date: Thu, 19 Nov 2020 00:24:11 +0100 Subject: [Lazarus] Default project ? In-Reply-To: References: Message-ID: On 18/11/2020 19:51, Bo Berglund via lazarus wrote: > Especially since Lazarus crashes greatly if there is a problem with > the last project and then it takes a detective to make it return to > usable again since just restarting causes the same crash to occur > again and again. > Happened to me many times.... > Lazarus is supposed to detect, if it crashed during the last startup while opening the project. And at least in the few cases where I had such crashes, the next start of the IDE has always prompt me, if I want to open that project, or start with an empty one. So if the repeated crash happens to you, then you are hitting 2 bugs at once. And it would be really good if they could be reported in a reproducible manner. Btw, as a workaround (just thinking about): Move the project to a different folder (just to start the IDE). If it can not be found, it can not be opened, it can not crash. => Of course that does not solve the problem that eventually you do want to open the project. But that is also not remedied by the IDE starting with no project at all ( -np ). From bo.berglund at gmail.com Thu Nov 19 08:14:44 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Thu, 19 Nov 2020 08:14:44 +0100 Subject: [Lazarus] Default project ? References: <20201118224236.1dacc784@limapholos.matflo.wg> Message-ID: <9i6crfhhg4e35q91q1nifeuk6vdluvquk5@4ax.com> On Wed, 18 Nov 2020 22:42:36 +0100, Mattias Gaertner via lazarus wrote: >> Or is there a command line option like Delphi's -np also for Lazarus >> that I have missed? > >--skip-last-project Perfect, that is what I would need then! Starts Lazarus with an empty default project. Almost the same as Delphi's -np given that Lazarus needs a project to work. Then Project/Open Recent Project to select what if anything I need to re-open. Follow-up: Is there a way to configure the number of projects saved to this list? Right now it seems to only hold 5 projects... -- Bo Berglund Developer in Sweden From bo.berglund at gmail.com Thu Nov 19 08:19:28 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Thu, 19 Nov 2020 08:19:28 +0100 Subject: [Lazarus] Default project ? References: <20201118224236.1dacc784@limapholos.matflo.wg> <9i6crfhhg4e35q91q1nifeuk6vdluvquk5@4ax.com> Message-ID: On Thu, 19 Nov 2020 08:14:44 +0100, Bo Berglund via lazarus wrote: >Follow-up: >Is there a way to configure the number of projects saved to this list? >Right now it seems to only hold 5 projects... Of course: Tools/Options/Environment/Files Sorry for that question. -- Bo Berglund Developer in Sweden From bartjunk64 at gmail.com Thu Nov 19 12:17:11 2020 From: bartjunk64 at gmail.com (Bart) Date: Thu, 19 Nov 2020 12:17:11 +0100 Subject: [Lazarus] Default project ? In-Reply-To: References: <20201118224236.1dacc784@limapholos.matflo.wg> <9i6crfhhg4e35q91q1nifeuk6vdluvquk5@4ax.com> Message-ID: Can we now get back to the original question this thread was about? -- Bart From juha.manninen62 at gmail.com Thu Nov 19 12:59:03 2020 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Thu, 19 Nov 2020 13:59:03 +0200 Subject: [Lazarus] Default project ? In-Reply-To: References: Message-ID: On Wed, Nov 18, 2020 at 8:51 PM Bo Berglund via lazarus < lazarus at lists.lazarus-ide.org> wrote: > Especially since Lazarus crashes greatly if there is a problem with > the last project ... > Report all such crashes please. Test with Lazarus trunk and include a minimal test project to reproduce. Juha -------------- next part -------------- An HTML attachment was scrubbed... URL: From engelbert_buxbaum at web.de Thu Nov 19 13:23:28 2020 From: engelbert_buxbaum at web.de (Dr Engelbert Buxbaum) Date: Thu, 19 Nov 2020 13:23:28 +0100 Subject: [Lazarus] error in https://www.freepascal.org/docs-html/rtl/math/floor.html Message-ID: <143298036.20201119132328@web.de> Hi, the example on the bottom was apparently copied from the documentation of the ceil function. The results were changed for floor, but the function call was not. -- Sincerelyn Dr Engelbert Buxbaum From lazarus at kluug.net Thu Nov 19 13:47:26 2020 From: lazarus at kluug.net (Ondrej Pokorny) Date: Thu, 19 Nov 2020 13:47:26 +0100 Subject: [Lazarus] error in https://www.freepascal.org/docs-html/rtl/math/floor.html In-Reply-To: <143298036.20201119132328@web.de> References: <143298036.20201119132328@web.de> Message-ID: On 19.11.2020 13:23, Dr Engelbert Buxbaum via lazarus wrote: > the example on the bottom was apparently copied from the documentation of the ceil function. The results were changed for floor, but the function call was not. Correct, thanks for reporting, I fixed that. BTW, this is FPC documentation, so better to report to the fpc-devel mailing list. Ondrej From bo.berglund at gmail.com Thu Nov 19 17:05:03 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Thu, 19 Nov 2020 17:05:03 +0100 Subject: [Lazarus] Default project ? References: <20201118224236.1dacc784@limapholos.matflo.wg> <9i6crfhhg4e35q91q1nifeuk6vdluvquk5@4ax.com> Message-ID: On Thu, 19 Nov 2020 12:17:11 +0100, Bart via lazarus wrote: >Can we now get back to the original question this thread was about? > I agree that it would be nice to have a setting in Lazarus to define *what type of project* it will autogenerate in absence of a previous project to load. But it is not that difficult really to configure Lazarus to not load the previous project and then when the default pops up go to Project/New... and select the wanted type. So a setting for "Default project type" might help... The issue here might be to avoid loading a massive project un-necessarily when one wants to start a new project. If the checkbox at Tools/Options/Environment/Open_Last_Project_And_Packages_At_Start is unchecked it acts the same as if the start command contains the argument --skip-last-project, so it is easier to manage this way. -- Bo Berglund Developer in Sweden From michael at freepascal.org Thu Nov 19 18:07:52 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Thu, 19 Nov 2020 18:07:52 +0100 (CET) Subject: [Lazarus] Default project ? In-Reply-To: References: <20201118224236.1dacc784@limapholos.matflo.wg> <9i6crfhhg4e35q91q1nifeuk6vdluvquk5@4ax.com> Message-ID: On Thu, 19 Nov 2020, Bo Berglund via lazarus wrote: > On Thu, 19 Nov 2020 12:17:11 +0100, Bart via lazarus > wrote: > >> Can we now get back to the original question this thread was about? >> > > I agree that it would be nice to have a setting in Lazarus to define > *what type of project* it will autogenerate in absence of a previous > project to load. > > But it is not that difficult really to configure Lazarus to not load > the previous project and then when the default pops up go to > Project/New... and select the wanted type. > So a setting for "Default project type" might help... > > The issue here might be to avoid loading a massive project > un-necessarily when one wants to start a new project. > > If the checkbox at > Tools/Options/Environment/Open_Last_Project_And_Packages_At_Start > > is unchecked it acts the same as if the start command contains the > argument --skip-last-project, so it is easier to manage this way. No, I want it actually to create a 'Simple program' as that is what I do in 90% of cases. The 9 other percent is 'Console application' and maybe 1% 'Application' (the current default). I'll post a feature request in the bugtracker. Michael. From lazarus at kluug.net Fri Nov 20 06:36:41 2020 From: lazarus at kluug.net (Ondrej Pokorny) Date: Fri, 20 Nov 2020 06:36:41 +0100 Subject: [Lazarus] Default project ? In-Reply-To: References: <20201118224236.1dacc784@limapholos.matflo.wg> <9i6crfhhg4e35q91q1nifeuk6vdluvquk5@4ax.com> Message-ID: <26c80313-b42c-fc1e-f2b5-9338ececc30b@kluug.net> On 19.11.2020 18:07, Michael Van Canneyt via lazarus wrote: > I'll post a feature request in the bugtracker. Yes, that is the best you can do :) Ondrej From michael at freepascal.org Fri Nov 20 11:32:49 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Fri, 20 Nov 2020 11:32:49 +0100 (CET) Subject: [Lazarus] Lazarus totally destroyed... :( Message-ID: Hello, - Updated Lazarus from SVN. - Lazarus no longer compiles (FPC 3.2) - Managed to fix that: home:~/lazarus> svn diff ide/ideoptionsdlg.pas Index: ide/ideoptionsdlg.pas =================================================================== --- ide/ideoptionsdlg.pas (revision 64150) +++ ide/ideoptionsdlg.pas (working copy) @@ -36,7 +36,7 @@ ExtCtrls, StdCtrls, Dialogs, // LazControls TreeFilterEdit, - LazControlDsgn, // move this to lazarus.lpr + // LazControlDsgn, // move this to lazarus.lpr // IdeIntf IDEWindowIntf, IDEOptionsIntf, IDEOptEditorIntf, IDECommands, IDEHelpIntf, ProjectIntf, IDEImagesIntf, - Lazarus no longer starts. See below for stacktrace. - Removed protocol.xml and environmentoptions.xml : No change, crash - Removed .lazarus dir completely: Crash. - Attempt to compile on command-line with FPC 3.2.0 home:~/lazarus> make all PP=ppcx64-3.2.0 make -C packager/registration make[1]: Entering directory '/home/michael/projects/lazarus/packager/registration' /bin/rm -f ../units/x86_64-linux/fcllaz.ppu /bin/mkdir -p ../units/x86_64-linux ppcx64-3.2.0 -MObjFPC -Scghi -O1 -g -gl -l -vewnhibq -Fu. -Fu/usr/local/lib/fpc/3.2.0/units/x86_64-linux/rtl -FE. -FU../units/x86_64-linux -Cg -Fl/usr/lib/gcc/x86_64-linux-gnu/7 -dx86_64 fcllaz.pas Hint: (11030) Start of reading config file /home/michael/.fpc.cfg Hint: (11031) End of reading config file /home/michael/.fpc.cfg Free Pascal Compiler version 3.2.0 [2020/05/04] for x86_64 Copyright (c) 1993-2020 by Florian Klaempfl and others (1002) Target OS: Linux for x86-64 (3104) Compiling fcllaz.pas (3104) Compiling lazaruspackageintf.pas (1008) 124 lines compiled, 0.1 sec (1022) 2 hint(s) issued /bin/cp -f Makefile.compiled ../units/x86_64-linux/FCL.compiled /bin/cp: cannot stat 'Makefile.compiled': No such file or directory Makefile:3588: recipe for target 'compiled' failed make[1]: *** [compiled] Error 1 make[1]: Leaving directory '/home/michael/projects/lazarus/packager/registration' Makefile:3587: recipe for target 'registration' failed make: *** [registration] Error 2 Left with no way to create/start lazarus. Me no happy and very stuck pinguin. Suggestions ? Michael. Stack trace with existing .lazarus dir, protocol.xml and environmentopionsxml removed: home:~> lazarus (lazarus:4983): Gtk-WARNING **: 11:15:25.003: Unable to locate theme engine in module_path: "adwaita", Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] PrimaryConfigPath="/home/michael/.lazarus" Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] SecondaryConfigPath="/etc/lazarus" [TIDEProtocol.Load] error reading "/home/michael/.lazarus/protocol.xml": Access violation [TEnvironmentOptions.Load] error reading "/home/michael/.lazarus/environmentoptions.xml": Access violation Hint: (lazarus) [TMainIDE.Destroy] B -> inherited Destroy... TMainIDE Hint: (lazarus) [TMainIDE.Destroy] END [FORMS.PP] ExceptionOccurred Sender=EAccessViolation Exception=Access violation Stack trace: $00000000004408D0 SYSGETMEM_FIXED, line 963 of ../inc/heap.inc $0000000000440C25 SYSGETMEM, line 1082 of ../inc/heap.inc $00000000004414F7 SYSREALLOCMEM, line 1478 of ../inc/heap.inc $000000000043F732 REALLOCMEM, line 350 of ../inc/heap.inc $000000000042F6EF fpc_ansistr_setlength, line 792 of ../inc/astrings.inc $000000000042E589 fpc_ansistr_concat, line 266 of ../inc/astrings.inc $0000000000466FCD FORMAT, line 257 of ../objpas/sysutils/sysformt.inc $00000000004684A8 FORMAT, line 1098 of ../objpas/sysutils/sysstr.inc $0000000000A6120E TRANSLATEUNITRESOURCESTRINGS, line 634 of translations.pas $0000000000C461C0 TRANSLATERESOURCESTRINGS, line 518 of idetranslations.pas $00000000004B77CE LOADGLOBALOPTIONS, line 1251 of main.pp $00000000004B9112 CREATE, line 1528 of main.pp $00000000004208D6 main, line 141 of lazarus.pp $000000000044C910 SYSENTRY, line 141 of system.pp TApplication.HandleException: EAccessViolation Access violation Stack trace: $00000000004408D0 SYSGETMEM_FIXED, line 963 of ../inc/heap.inc $0000000000440C25 SYSGETMEM, line 1082 of ../inc/heap.inc $00000000004414F7 SYSREALLOCMEM, line 1478 of ../inc/heap.inc $000000000043F732 REALLOCMEM, line 350 of ../inc/heap.inc $000000000042F6EF fpc_ansistr_setlength, line 792 of ../inc/astrings.inc $000000000042E589 fpc_ansistr_concat, line 266 of ../inc/astrings.inc $0000000000466FCD FORMAT, line 257 of ../objpas/sysutils/sysformt.inc $00000000004684A8 FORMAT, line 1098 of ../objpas/sysutils/sysstr.inc $0000000000A6120E TRANSLATEUNITRESOURCESTRINGS, line 634 of translations.pas $0000000000C461C0 TRANSLATERESOURCESTRINGS, line 518 of idetranslations.pas $00000000004B77CE LOADGLOBALOPTIONS, line 1251 of main.pp $00000000004B9112 CREATE, line 1528 of main.pp $00000000004208D6 main, line 141 of lazarus.pp $000000000044C910 SYSENTRY, line 141 of system.pp [FORMS.PP] ExceptionOccurred [FORMS.PP] ExceptionOccurred [TGtk2WidgetSet.Destroy] WARNING: There are 1 unreleased DCs, a detailed dump follows: [TGtk2WidgetSet.Destroy] DCs: 00007F411429DA40 [TGtk2WidgetSet.Destroy] WARNING: There are 2 unreleased GDIObjects, a detailed dump follows: [TGtk2WidgetSet.Destroy] GDIOs: 00007F411E3E2BC0 00007F411E3E2AC0 [TGtk2WidgetSet.Destroy] gdiBitmap: 2 An unhandled exception occurred at $0000000000440DC1: EAccessViolation: Access violation $0000000000440DC1 SYSFREEMEM_FIXED, line 1153 of ../inc/heap.inc $0000000000440FDB SYSFREEMEM, line 1227 of ../inc/heap.inc $000000000043F63A FREEMEM, line 324 of ../inc/heap.inc $0000000000689034 DOFINALIZATION, line 762 of widgetset/wslclclasses.pp $0000000000689069 WSLCLCLASSES_$$_finalize$, line 773 of widgetset/wslclclasses.pp $000000000043E103 FINALIZEUNITS, line 1009 of ../inc/system.inc $000000000043E490 INTERNALEXIT, line 1090 of ../inc/system.inc $000000000043E4D9 fpc_do_exit, line 1133 of ../inc/system.inc $000000000043E537 HALT, line 1156 of ../inc/system.inc $000000000048FFF2 EXCEPTIONOCCURRED, line 1929 of forms.pp $0000000000439D07 DOUNHANDLEDEXCEPTION, line 144 of ../inc/except.inc $000000000043A0DE fpc_reraise, line 277 of ../inc/except.inc $000000000049020A EXCEPTIONOCCURRED, of forms.pp $0000000000439D07 DOUNHANDLEDEXCEPTION, line 144 of ../inc/except.inc $000000000043A0DE fpc_reraise, line 277 of ../inc/except.inc $000000000049020A EXCEPTIONOCCURRED, of forms.pp $0000000000439D07 DOUNHANDLEDEXCEPTION, line 144 of ../inc/except.inc An unhandled exception occurred at $0000000000440DC1: EAccessViolation: $0000000000440DC1 SYSFREEMEM_FIXED, line 1153 of ../inc/heap.inc $0000000000440FDB SYSFREEMEM, line 1227 of ../inc/heap.inc $000000000043F63A FREEMEM, line 324 of ../inc/heap.inc $00000000004FE942 DONELOCALTIME, line 353 of ../unix/timezone.inc $00000000005007C9 UNIX_$$_finalize$, line 1244 of ../unix/unix.pp $000000000043E103 FINALIZEUNITS, line 1009 of ../inc/system.inc $000000000043E490 INTERNALEXIT, line 1090 of ../inc/system.inc $000000000043E4D9 fpc_do_exit, line 1133 of ../inc/system.inc $000000000043E537 HALT, line 1156 of ../inc/system.inc $0000000000439D11 DOUNHANDLEDEXCEPTION, line 145 of ../inc/except.inc $000000000043A0DE fpc_reraise, line 277 of ../inc/except.inc $000000000049020A EXCEPTIONOCCURRED, of forms.pp $0000000000439D07 DOUNHANDLEDEXCEPTION, line 144 of ../inc/except.inc $000000000043A0DE fpc_reraise, line 277 of ../inc/except.inc $000000000049020A EXCEPTIONOCCURRED, of forms.pp $0000000000439D07 DOUNHANDLEDEXCEPTION, line 144 of ../inc/except.inc $000000000043A0DE fpc_reraise, line 277 of ../inc/except.inc Lazarus without .lazarus dir: home:~> rm -r .lazarus home:~> lazarus (lazarus:5144): Gtk-WARNING **: 11:21:04.435: Unable to locate theme engine in module_path: "adwaita", Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] PrimaryConfigPath="/home/michael/.lazarus" Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] SecondaryConfigPath="/etc/lazarus" [TIDEProtocol.Load] error reading "/home/michael/.lazarus/protocol.xml": Access violation [TEnvironmentOptions.Load] error reading "/home/michael/.lazarus/environmentoptions.xml": Access violation Hint: (lazarus) [TMainIDE.Destroy] B -> inherited Destroy... TMainIDE Hint: (lazarus) [TMainIDE.Destroy] END [FORMS.PP] ExceptionOccurred Sender=EAccessViolation Exception=Access violation Stack trace: $00000000004408D0 SYSGETMEM_FIXED, line 963 of ../inc/heap.inc $0000000000440C25 SYSGETMEM, line 1082 of ../inc/heap.inc $000000000043F50E GETMEM, line 284 of ../inc/heap.inc $00000000004381F1 NEWINSTANCE, line 437 of ../inc/objpas.inc $00000000007F5098 CREATE, line 2503 of laz2_dom.pas $00000000007ECA7B CREATECONFIGNODE, line 870 of laz2_xmlcfg.pas $00000000007EC98E SETFILENAME, line 854 of laz2_xmlcfg.pas $00000000007EA0EB CREATE, line 295 of laz2_xmlcfg.pas $0000000000B471D7 CREATE, line 581 of ideoptiondefs.pas $0000000000B45F27 GETLAZIDECONFIGSTORAGE, line 327 of ideoptiondefs.pas $0000000000BD98A0 LOADFILEDIALOGFILTER, line 80 of frames/env_file_filters.pas $00000000004B823C LOADGLOBALOPTIONS, line 1353 of main.pp $00000000004B9112 CREATE, line 1528 of main.pp $00000000004208D6 main, line 141 of lazarus.pp $000000000044C910 SYSENTRY, line 141 of system.pp TApplication.HandleException: EAccessViolation Access violation Stack trace: $00000000004408D0 SYSGETMEM_FIXED, line 963 of ../inc/heap.inc $0000000000440C25 SYSGETMEM, line 1082 of ../inc/heap.inc $000000000043F50E GETMEM, line 284 of ../inc/heap.inc $00000000004381F1 NEWINSTANCE, line 437 of ../inc/objpas.inc $00000000007F5098 CREATE, line 2503 of laz2_dom.pas $00000000007ECA7B CREATECONFIGNODE, line 870 of laz2_xmlcfg.pas $00000000007EC98E SETFILENAME, line 854 of laz2_xmlcfg.pas $00000000007EA0EB CREATE, line 295 of laz2_xmlcfg.pas $0000000000B471D7 CREATE, line 581 of ideoptiondefs.pas $0000000000B45F27 GETLAZIDECONFIGSTORAGE, line 327 of ideoptiondefs.pas $0000000000BD98A0 LOADFILEDIALOGFILTER, line 80 of frames/env_file_filters.pas $00000000004B823C LOADGLOBALOPTIONS, line 1353 of main.pp $00000000004B9112 CREATE, line 1528 of main.pp $00000000004208D6 main, line 141 of lazarus.pp $000000000044C910 SYSENTRY, line 141 of system.pp [FORMS.PP] ExceptionOccurred Sender=EAccessViolation Exception=Access violation Stack trace: $00000000004408D0 SYSGETMEM_FIXED, line 963 of ../inc/heap.inc $0000000000440C25 SYSGETMEM, line 1082 of ../inc/heap.inc $000000000043F50E GETMEM, line 284 of ../inc/heap.inc $00000000004381F1 NEWINSTANCE, line 437 of ../inc/objpas.inc $00000000007F5098 CREATE, line 2503 of laz2_dom.pas $00000000007FCB13 PROCESSXML, line 1704 of laz2_xmlread.pas $0000000000803F87 READXMLFILE, line 4145 of laz2_xmlread.pas $000000000080410B READXMLFILE, line 4177 of laz2_xmlread.pas $00000000007EA650 READFROMSTREAM, line 354 of laz2_xmlcfg.pas $0000000000B55F22 ADDFROMRESOURCE, line 2422 of editoroptions.pp $0000000000B55A36 COLORSCHEMEFACTORY, line 2433 of editoroptions.pp $0000000000B6D862 EDITOROPTIONS_$$_finalize$, line 7298 of editoroptions.pp $000000000043E103 FINALIZEUNITS, line 1009 of ../inc/system.inc $000000000043E490 INTERNALEXIT, line 1090 of ../inc/system.inc $000000000043E4D9 fpc_do_exit, line 1133 of ../inc/system.inc $000000000043E537 HALT, line 1156 of ../inc/system.inc $0000000000439D11 DOUNHANDLEDEXCEPTION, line 145 of ../inc/except.inc TApplication.HandleException: EAccessViolation Access violation Stack trace: $00000000004408D0 SYSGETMEM_FIXED, line 963 of ../inc/heap.inc $0000000000440C25 SYSGETMEM, line 1082 of ../inc/heap.inc $000000000043F50E GETMEM, line 284 of ../inc/heap.inc $00000000004381F1 NEWINSTANCE, line 437 of ../inc/objpas.inc $00000000007F5098 CREATE, line 2503 of laz2_dom.pas $00000000007FCB13 PROCESSXML, line 1704 of laz2_xmlread.pas $0000000000803F87 READXMLFILE, line 4145 of laz2_xmlread.pas $000000000080410B READXMLFILE, line 4177 of laz2_xmlread.pas $00000000007EA650 READFROMSTREAM, line 354 of laz2_xmlcfg.pas $0000000000B55F22 ADDFROMRESOURCE, line 2422 of editoroptions.pp $0000000000B55A36 COLORSCHEMEFACTORY, line 2433 of editoroptions.pp $0000000000B6D862 EDITOROPTIONS_$$_finalize$, line 7298 of editoroptions.pp $000000000043E103 FINALIZEUNITS, line 1009 of ../inc/system.inc $000000000043E490 INTERNALEXIT, line 1090 of ../inc/system.inc $000000000043E4D9 fpc_do_exit, line 1133 of ../inc/system.inc $000000000043E537 HALT, line 1156 of ../inc/system.inc $0000000000439D11 DOUNHANDLEDEXCEPTION, line 145 of ../inc/except.inc [FORMS.PP] ExceptionOccurred [TGtk2WidgetSet.Destroy] WARNING: There are 1 unreleased DCs, a detailed dump follows: [TGtk2WidgetSet.Destroy] DCs: 00007F043F853A40 [TGtk2WidgetSet.Destroy] WARNING: There are 2 unreleased GDIObjects, a detailed dump follows: [TGtk2WidgetSet.Destroy] GDIOs: 00007F0449998BC0 00007F0449998AC0 [TGtk2WidgetSet.Destroy] gdiBitmap: 2 An unhandled exception occurred at $0000000000440DC1: EAccessViolation: Access violation $0000000000440DC1 SYSFREEMEM_FIXED, line 1153 of ../inc/heap.inc $0000000000440FDB SYSFREEMEM, line 1227 of ../inc/heap.inc $000000000043F63A FREEMEM, line 324 of ../inc/heap.inc $0000000000689034 DOFINALIZATION, line 762 of widgetset/wslclclasses.pp $0000000000689069 WSLCLCLASSES_$$_finalize$, line 773 of widgetset/wslclclasses.pp $000000000043E103 FINALIZEUNITS, line 1009 of ../inc/system.inc $000000000043E490 INTERNALEXIT, line 1090 of ../inc/system.inc $000000000043E4D9 fpc_do_exit, line 1133 of ../inc/system.inc $000000000043E537 HALT, line 1156 of ../inc/system.inc $000000000048FFF2 EXCEPTIONOCCURRED, line 1929 of forms.pp $0000000000439D07 DOUNHANDLEDEXCEPTION, line 144 of ../inc/except.inc $000000000043A0DE fpc_reraise, line 277 of ../inc/except.inc $000000000049020A EXCEPTIONOCCURRED, of forms.pp $0000000000439D07 DOUNHANDLEDEXCEPTION, line 144 of ../inc/except.inc $000000000043A0DE fpc_reraise, line 277 of ../inc/except.inc $0000000000B55E1A COLORSCHEMEFACTORY, of editoroptions.pp $0000000000B6D862 EDITOROPTIONS_$$_finalize$, line 7298 of editoroptions.pp An unhandled exception occurred at $0000000000440DC1: EAccessViolation: $0000000000440DC1 SYSFREEMEM_FIXED, line 1153 of ../inc/heap.inc $0000000000440FDB SYSFREEMEM, line 1227 of ../inc/heap.inc $000000000043F63A FREEMEM, line 324 of ../inc/heap.inc $00000000004FE942 DONELOCALTIME, line 353 of ../unix/timezone.inc $00000000005007C9 UNIX_$$_finalize$, line 1244 of ../unix/unix.pp $000000000043E103 FINALIZEUNITS, line 1009 of ../inc/system.inc $000000000043E490 INTERNALEXIT, line 1090 of ../inc/system.inc $000000000043E4D9 fpc_do_exit, line 1133 of ../inc/system.inc $000000000043E537 HALT, line 1156 of ../inc/system.inc $0000000000439D11 DOUNHANDLEDEXCEPTION, line 145 of ../inc/except.inc $000000000043A0DE fpc_reraise, line 277 of ../inc/except.inc $000000000049020A EXCEPTIONOCCURRED, of forms.pp $0000000000439D07 DOUNHANDLEDEXCEPTION, line 144 of ../inc/except.inc $000000000043A0DE fpc_reraise, line 277 of ../inc/except.inc $000000000049020A EXCEPTIONOCCURRED, of forms.pp $0000000000439D07 DOUNHANDLEDEXCEPTION, line 144 of ../inc/except.inc $000000000043A0DE fpc_reraise, line 277 of ../inc/except.inc From juha.manninen62 at gmail.com Fri Nov 20 12:24:13 2020 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Fri, 20 Nov 2020 13:24:13 +0200 Subject: [Lazarus] Lazarus totally destroyed... :( In-Reply-To: References: Message-ID: On Fri, Nov 20, 2020 at 12:32 PM Michael Van Canneyt via lazarus < lazarus at lists.lazarus-ide.org> wrote: > - Updated Lazarus from SVN. > - Lazarus no longer compiles (FPC 3.2) > > - Managed to fix that: > > home:~/lazarus> svn diff ide/ideoptionsdlg.pas > Index: ide/ideoptionsdlg.pas > =================================================================== > --- ide/ideoptionsdlg.pas (revision 64150) > +++ ide/ideoptionsdlg.pas (working copy) > @@ -36,7 +36,7 @@ > ExtCtrls, StdCtrls, Dialogs, > // LazControls > TreeFilterEdit, > - LazControlDsgn, // move this to lazarus.lpr > + // LazControlDsgn, // move this to lazarus.lpr > // IdeIntf > IDEWindowIntf, IDEOptionsIntf, IDEOptEditorIntf, IDECommands, > IDEHelpIntf, > ProjectIntf, IDEImagesIntf, > I remember that LazControlDsgn required some tweaking but it was a long time ago. No recent changes have affected it. I just today built Lazarus without problems. I don't know what is causing your errors. Regards, Juha -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael at freepascal.org Fri Nov 20 12:38:06 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Fri, 20 Nov 2020 12:38:06 +0100 (CET) Subject: [Lazarus] Lazarus totally destroyed... :( In-Reply-To: References: Message-ID: On Fri, 20 Nov 2020, Juha Manninen via lazarus wrote: > On Fri, Nov 20, 2020 at 12:32 PM Michael Van Canneyt via lazarus < > lazarus at lists.lazarus-ide.org> wrote: > >> - Updated Lazarus from SVN. >> - Lazarus no longer compiles (FPC 3.2) >> >> - Managed to fix that: >> >> home:~/lazarus> svn diff ide/ideoptionsdlg.pas >> Index: ide/ideoptionsdlg.pas >> =================================================================== >> --- ide/ideoptionsdlg.pas (revision 64150) >> +++ ide/ideoptionsdlg.pas (working copy) >> @@ -36,7 +36,7 @@ >> ExtCtrls, StdCtrls, Dialogs, >> // LazControls >> TreeFilterEdit, >> - LazControlDsgn, // move this to lazarus.lpr >> + // LazControlDsgn, // move this to lazarus.lpr >> // IdeIntf >> IDEWindowIntf, IDEOptionsIntf, IDEOptEditorIntf, IDECommands, >> IDEHelpIntf, >> ProjectIntf, IDEImagesIntf, >> > > I remember that LazControlDsgn required some tweaking but it was a long > time ago. > No recent changes have affected it. > I just today built Lazarus without problems. I don't know what is causing > your errors. What happens if you start it without config directory ? Michael. From nc-gaertnma at netcologne.de Fri Nov 20 12:38:41 2020 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Fri, 20 Nov 2020 12:38:41 +0100 Subject: [Lazarus] Lazarus totally destroyed... :( In-Reply-To: References: Message-ID: <20201120123841.0a21e054@limapholos.matflo.wg> On Fri, 20 Nov 2020 11:32:49 +0100 (CET) Michael Van Canneyt via lazarus wrote: > Hello, > > > - Updated Lazarus from SVN. > - Lazarus no longer compiles (FPC 3.2) It compiles here. > - Managed to fix that: > > home:~/lazarus> svn diff ide/ideoptionsdlg.pas > Index: ide/ideoptionsdlg.pas > =================================================================== > --- ide/ideoptionsdlg.pas (revision 64150) > +++ ide/ideoptionsdlg.pas (working copy) > @@ -36,7 +36,7 @@ > ExtCtrls, StdCtrls, Dialogs, > // LazControls > TreeFilterEdit, > - LazControlDsgn, // move this to lazarus.lpr > + // LazControlDsgn, // move this to lazarus.lpr > // IdeIntf > IDEWindowIntf, IDEOptionsIntf, IDEOptEditorIntf, IDECommands, > IDEHelpIntf, ProjectIntf, IDEImagesIntf, > > - Lazarus no longer starts. See below for stacktrace. > - Removed protocol.xml and environmentoptions.xml : No change, crash > - Removed .lazarus dir completely: Crash. > > - Attempt to compile on command-line with FPC 3.2.0 > > home:~/lazarus> make all PP=ppcx64-3.2.0 Maybe you have local mods? Have you tried "make distclean"? > make -C packager/registration > make[1]: Entering directory > '/home/michael/projects/lazarus/packager/registration' /bin/rm > -f ../units/x86_64-linux/fcllaz.ppu /bin/mkdir > -p ../units/x86_64-linux ppcx64-3.2.0 -MObjFPC -Scghi -O1 -g -gl -l > -vewnhibq -Fu. -Fu/usr/local/lib/fpc/3.2.0/units/x86_64-linux/rtl > -FE. -FU../units/x86_64-linux -Cg -Fl/usr/lib/gcc/x86_64-linux-gnu/7 > -dx86_64 fcllaz.pas Hint: (11030) Start of reading config > file /home/michael/.fpc.cfg Hint: (11031) End of reading config > file /home/michael/.fpc.cfg Free Pascal Compiler version 3.2.0 > [2020/05/04] for x86_64 Copyright (c) 1993-2020 by Florian Klaempfl > and others (1002) Target OS: Linux for x86-64 (3104) Compiling > fcllaz.pas (3104) Compiling lazaruspackageintf.pas (1008) 124 lines > compiled, 0.1 sec (1022) 2 hint(s) issued > /bin/cp -f Makefile.compiled ../units/x86_64-linux/FCL.compiled > /bin/cp: cannot stat 'Makefile.compiled': No such file or directory Do you have packager/registration/Makefile.compiled ? > Makefile:3588: recipe for target 'compiled' failed > make[1]: *** [compiled] Error 1 > make[1]: Leaving directory > '/home/michael/projects/lazarus/packager/registration' Makefile:3587: > recipe for target 'registration' failed make: *** [registration] > Error 2 > > > Left with no way to create/start lazarus. > > Me no happy and very stuck pinguin. > > Suggestions ? Mattias From pascaldragon at googlemail.com Fri Nov 20 13:04:19 2020 From: pascaldragon at googlemail.com (Sven Barth) Date: Fri, 20 Nov 2020 13:04:19 +0100 Subject: [Lazarus] Lazarus totally destroyed... :( In-Reply-To: References: Message-ID: Juha Manninen via lazarus schrieb am Fr., 20. Nov. 2020, 12:24: > On Fri, Nov 20, 2020 at 12:32 PM Michael Van Canneyt via lazarus < > lazarus at lists.lazarus-ide.org> wrote: > >> - Updated Lazarus from SVN. >> - Lazarus no longer compiles (FPC 3.2) >> >> - Managed to fix that: >> >> home:~/lazarus> svn diff ide/ideoptionsdlg.pas >> Index: ide/ideoptionsdlg.pas >> =================================================================== >> --- ide/ideoptionsdlg.pas (revision 64150) >> +++ ide/ideoptionsdlg.pas (working copy) >> @@ -36,7 +36,7 @@ >> ExtCtrls, StdCtrls, Dialogs, >> // LazControls >> TreeFilterEdit, >> - LazControlDsgn, // move this to lazarus.lpr >> + // LazControlDsgn, // move this to lazarus.lpr >> // IdeIntf >> IDEWindowIntf, IDEOptionsIntf, IDEOptEditorIntf, IDECommands, >> IDEHelpIntf, >> ProjectIntf, IDEImagesIntf, >> > > I remember that LazControlDsgn required some tweaking but it was a long > time ago. > No recent changes have affected it. > I just today built Lazarus without problems. I don't know what is causing > your errors. > Last week I had to do a complete clean of Lazarus 2.1 as well, cause it got stuck at startup with 100% CPU usage on one core. I completely cleaned the SVN directory, built from the Makefile and used a new configuration and everything was fine again... Regards, Sven > -------------- next part -------------- An HTML attachment was scrubbed... URL: From michael at freepascal.org Fri Nov 20 13:09:18 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Fri, 20 Nov 2020 13:09:18 +0100 (CET) Subject: [Lazarus] Lazarus totally destroyed... :( In-Reply-To: <20201120123841.0a21e054@limapholos.matflo.wg> References: <20201120123841.0a21e054@limapholos.matflo.wg> Message-ID: On Fri, 20 Nov 2020, Mattias Gaertner via lazarus wrote: > On Fri, 20 Nov 2020 11:32:49 +0100 (CET) > Michael Van Canneyt via lazarus wrote: > >> Hello, >> >> >> - Updated Lazarus from SVN. >> - Lazarus no longer compiles (FPC 3.2) > > It compiles here. Well: home:~/lazarus> svn status -q home:~/lazarus> delp -r . DelPascal Version 1.3 Copyright (c) 1999-2012 by the Free Pascal Development Team - Removed 67 *.compiled (32.215 Bytes) - Removed 2 *.o (20.664 Bytes) - Removed 2 *.ppu (5.374 Bytes) - Total 58.253 Bytes Freed home:~/lazarus> make ide PP=ppcx64-3.2.0 make -C ide ide make[1]: Entering directory '/home/michael/projects/lazarus/ide' /bin/mkdir -p ../units/x86_64-linux/gtk2 make -C ../tools svn2revisioninc OS_TARGET=linux CPU_TARGET=x86_64 OPT='' make[2]: Entering directory '/home/michael/projects/lazarus/tools' Makefile:2956: warning: overriding recipe for target '.' Makefile:2954: warning: ignoring old recipe for target '.' ppcx64-3.2.0 -gl -Fu. -Fu../components/lazutils/lib/x86_64-linux -Fu../lcl/units/x86_64-linux -Fu../lcl/units/x86_64-linux/nogui -Fu/usr/local/lib/fpc/3.2.0/units/x86_64-linux/rtl -FE. -FU. -Cg -Fl/usr/lib/gcc/x86_64-linux-gnu/7 -Flinclude -Fl/etc/ld.so.conf.d/*.conf -dx86_64 svn2revisioninc.pas svn2revisioninc.pas(62,3) Fatal: Can't find unit FileUtil used by Svn2RevisionInc Fatal: Compilation aborted Makefile:2967: recipe for target 'svn2revisioninc' failed make[2]: *** [svn2revisioninc] Error 1 make[2]: Leaving directory '/home/michael/projects/lazarus/tools' Makefile:5098: recipe for target 'revisioninc' failed make[1]: *** [revisioninc] Error 2 make[1]: Leaving directory '/home/michael/projects/lazarus/ide' Makefile:3610: recipe for target 'ide' failed make: *** [ide] Error 2 As you can see, no modified files, no stray .ppu or .o. But it does not compile. I did then a completely new checkout of the IDE, then I can compile it on the command-line. If I then start the new binary and ask to build from inside the IDE, the error with LazControlDsgn again pops up. After I fix that, it compiles. However, when restarting, I get attached layout. Not really nice. If I remove the config dir ~/.lazarus (I know of no other way to fix the layout thing), again: crash: home:~/lazarus> ./lazarus (lazarus:12619): Gtk-WARNING **: 13:08:24.335: Unable to locate theme engine in module_path: "adwaita", Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] PrimaryConfigPath="/home/michael/.lazarus" Hint: (lazarus) [TMainIDE.ParseCmdLineOptions] SecondaryConfigPath="/etc/lazarus" [TIDEProtocol.Load] error reading "/home/michael/.lazarus/protocol.xml": Access violation [TEnvironmentOptions.Load] error reading "/home/michael/.lazarus/environmentoptions.xml": Access violation Hint: (lazarus) [TMainIDE.Destroy] B -> inherited Destroy... TMainIDE Hint: (lazarus) [TMainIDE.Destroy] END [FORMS.PP] ExceptionOccurred Sender=EAccessViolation Exception=Access violation Stack trace: $00000000004408D0 SYSGETMEM_FIXED, line 963 of ../inc/heap.inc $0000000000440C25 SYSGETMEM, line 1082 of ../inc/heap.inc $00000000004414F7 SYSREALLOCMEM, line 1478 of ../inc/heap.inc $000000000043F732 REALLOCMEM, line 350 of ../inc/heap.inc $0000000000C46607 ADD, line 548 of idetranslations.pas $0000000000C44D04 COLLECTTRANSLATIONS, line 189 of idetranslations.pas $0000000000C4626B TRANSLATERESOURCESTRINGS, line 504 of idetranslations.pas $00000000004B77CE LOADGLOBALOPTIONS, line 1251 of main.pp $00000000004B9112 CREATE, line 1528 of main.pp $00000000004208D6 main, line 141 of lazarus.pp $000000000044C910 SYSENTRY, line 141 of system.pp TApplication.HandleException: EAccessViolation So, seems to me there is a combination of things happening: - Some old config files in my lazarus tree prevent compiling - fixed by doing a new checkout. - Clearly not everything is cleaned regarding compile files: see LazControlDsgn issue (this is in the new checkout). - When upgrading an 'old' lazarus config, some things seem to go awry when restoring window positions. - The IDE does not handle missing ~/.lazarus any more. I tried using startlazarus, but this gives the same issue. Michael. From nc-gaertnma at netcologne.de Fri Nov 20 15:26:16 2020 From: nc-gaertnma at netcologne.de (Mattias Gaertner) Date: Fri, 20 Nov 2020 15:26:16 +0100 Subject: [Lazarus] Lazarus totally destroyed... :( In-Reply-To: References: <20201120123841.0a21e054@limapholos.matflo.wg> Message-ID: <20201120152616.33e7249d@limapholos.matflo.wg> On Fri, 20 Nov 2020 13:09:18 +0100 (CET) Michael Van Canneyt wrote: >[...] > home:~/lazarus> svn status -q > home:~/lazarus> delp -r . > DelPascal Version 1.3 > Copyright (c) 1999-2012 by the Free Pascal Development Team > > - Removed 67 *.compiled (32.215 Bytes) > - Removed 2 *.o (20.664 Bytes) > - Removed 2 *.ppu (5.374 Bytes) > - Total 58.253 Bytes Freed > home:~/lazarus> make ide PP=ppcx64-3.2.0 > make -C ide ide >[...] > svn2revisioninc.pas(62,3) Fatal: Can't find unit FileUtil used by > Svn2RevisionInc Normal after cleaning ppu files. Note that "make help" does not mention "make ide", because it is merely a part. A "make all" does make lazbuild lcl basecomponents ide starter Does that compile? >[...] > If I then start the new binary and ask to build from inside the IDE, > the error with LazControlDsgn again pops up. After I fix that, it > compiles. > > However, when restarting, I get attached layout. Not really nice. Where is the attachment? > If I remove the config dir ~/.lazarus (I know of no other way to fix > the layout thing), again: crash: > > home:~/lazarus> ./lazarus > > (lazarus:12619): Gtk-WARNING **: 13:08:24.335: Unable to locate theme > engine in module_path: "adwaita", Hint: (lazarus) > [TMainIDE.ParseCmdLineOptions] > PrimaryConfigPath="/home/michael/.lazarus" Hint: (lazarus) > [TMainIDE.ParseCmdLineOptions] > SecondaryConfigPath="/etc/lazarus" [TIDEProtocol.Load] error reading > "/home/michael/.lazarus/protocol.xml": Access violation Can you create a stacktrace? >[...] [TEnvironmentOptions.Load] error reading > "/home/michael/.lazarus/environmentoptions.xml": Access violation > Hint: (lazarus) [TMainIDE.Destroy] B -> inherited Destroy... > TMainIDE Hint: (lazarus) [TMainIDE.Destroy] END [FORMS.PP] > ExceptionOccurred Sender=EAccessViolation Exception=Access violation > Stack trace: $00000000004408D0 SYSGETMEM_FIXED, line 963 > of ../inc/heap.inc $0000000000440C25 SYSGETMEM, line 1082 > of ../inc/heap.inc $00000000004414F7 SYSREALLOCMEM, line 1478 > of ../inc/heap.inc $000000000043F732 REALLOCMEM, line 350 > of ../inc/heap.inc $0000000000C46607 ADD, line 548 of That's probably a follow up of the above AV. > idetranslations.pas $0000000000C44D04 COLLECTTRANSLATIONS, line 189 > of idetranslations.pas $0000000000C4626B TRANSLATERESOURCESTRINGS, > line 504 of idetranslations.pas $00000000004B77CE > LOADGLOBALOPTIONS, line 1251 of main.pp $00000000004B9112 CREATE, > line 1528 of main.pp $00000000004208D6 main, line 141 of lazarus.pp > $000000000044C910 SYSENTRY, line 141 of system.pp > TApplication.HandleException: EAccessViolation > > > > So, seems to me there is a combination of things happening: > > - Some old config files in my lazarus tree prevent compiling - fixed > by doing a new checkout. > - Clearly not everything is cleaned regarding compile files: > see LazControlDsgn issue (this is in the new checkout). Do you know what the "2 *.ppu" files are? > - When upgrading an 'old' lazarus config, some things seem to go awry > when restoring window positions. Can you send me the old layout? > - The IDE does not handle missing ~/.lazarus any more. Seems to work here. > I tried using startlazarus, but this gives the same issue. Works here too. I wonder what is different on your system. Mattias From bartjunk64 at gmail.com Fri Nov 20 18:58:23 2020 From: bartjunk64 at gmail.com (Bart) Date: Fri, 20 Nov 2020 18:58:23 +0100 Subject: [Lazarus] Lazarus totally destroyed... :( In-Reply-To: References: <20201120123841.0a21e054@limapholos.matflo.wg> Message-ID: On Fri, Nov 20, 2020 at 1:09 PM Michael Van Canneyt via lazarus wrote: > > - The IDE does not handle missing ~/.lazarus any more. > > I tried using startlazarus, but this gives the same issue. > FWIW: I just did a make clean bigide on a fresh checkout and this all went OK. I stated Lazarus with an empty config dir: no problems. Rebuilt Lazarus from with IDE: no problems. Iḿ using fpc 3.2.0-64 All this on Linux Mint 18.2 -- Bart From michael at freepascal.org Fri Nov 20 20:52:36 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Fri, 20 Nov 2020 20:52:36 +0100 (CET) Subject: [Lazarus] Lazarus totally destroyed... :( In-Reply-To: References: <20201120123841.0a21e054@limapholos.matflo.wg> Message-ID: On Fri, 20 Nov 2020, Bart via lazarus wrote: > On Fri, Nov 20, 2020 at 1:09 PM Michael Van Canneyt via lazarus > wrote: >> > >> - The IDE does not handle missing ~/.lazarus any more. >> >> I tried using startlazarus, but this gives the same issue. >> > > FWIW: > I just did a make clean bigide on a fresh checkout and this all went OK. > I stated Lazarus with an empty config dir: no problems. > Rebuilt Lazarus from with IDE: no problems. > > Iḿ using fpc 3.2.0-64 > All this on Linux Mint 18.2 It took me a while, but meanwhile I also managed to fix it, but I had to start from zero. - Fresh checkout of lazarus - Remove .lazarus in home dir. - Start newly built IDE - redo all settings, install all needed packages. Seems stable. Looks like something hanging from older version in source/config dir prevented the IDE from starting. I sent my .lazarus to Mattias so he can have a look. I'll treat it as a major cleaning operation :) Michael. From juha.manninen62 at gmail.com Wed Nov 25 14:20:38 2020 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Wed, 25 Nov 2020 15:20:38 +0200 Subject: [Lazarus] Profiling with Valgrind Message-ID: There is a wiki page about profiling, edited by many people: https://wiki.freepascal.org/Profiling It explains the usage of Valgrind among other profilers. There is a section: --- You can also profile only specific parts of your program. For example you can start the program with valgrind --instr-atstart=no ./myprogram --options --to --my --program --- It is not correct. I try to profile Lazarus project but Valgrind gives an error: valgrind: Unknown option: --instr-atstart=no If I start without parameters like: $ valgrind ./lazarus it uses the mem tool. What is the right syntax for starting Valgrind without a tool? I have Manjaro linux and Valgrind version 3.16.1. I have used Valgrind earlier but forgot many details. Regards, Juha -------------- next part -------------- An HTML attachment was scrubbed... URL: From juha.manninen62 at gmail.com Wed Nov 25 21:13:26 2020 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Wed, 25 Nov 2020 22:13:26 +0200 Subject: [Lazarus] Profiling with Valgrind In-Reply-To: References: Message-ID: Actually it is : $ valgrind --tool=callgrind --instr-atstart=no ./lazarus & The tool must be defined there. I fixed the wiki page. Juha -------------- next part -------------- An HTML attachment was scrubbed... URL: From marc at dommelstein.nl Sat Nov 28 16:41:55 2020 From: marc at dommelstein.nl (Marc Weustink) Date: Sat, 28 Nov 2020 16:41:55 +0100 Subject: [Lazarus] Ping Message-ID: <977BCDA7-9245-4F72-8B87-ED26FD39C735@dommelstein.nl> Pong From michael at freepascal.org Sun Nov 29 00:40:55 2020 From: michael at freepascal.org (Michael Van Canneyt) Date: Sun, 29 Nov 2020 00:40:55 +0100 (CET) Subject: [Lazarus] Daily docs Message-ID: Hello, I finally decided to tackle something which was on my TODO list for many years. >From now on we generate daily documentation updates. They are accessible from this page: https://www.freepascal.org/daily/daily.html This is not only the FPC documentation as generated from the sources, but also the total list of units (packages) that FPC distributes. The former allows you to check the latest docs (useful in case of fixes). For the latter, there is of course no documentation text, but you do get a list of all packages and all units that FPC distributes, you can find there all identifiers and so on. If a package fails to be parsed, it's not included in the list, so it can happen that a package "disappears"... The total size of the generated documentation is 1.3 Gb, roughly 280.000 files, so a lot of identifiers. As side effects of this effort, the fpmake tool now can generate a fpdoc project, and fpdoc itself has been extended so it can parse all sources in the packages. Michael. From bo.berglund at gmail.com Mon Nov 30 14:34:16 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Mon, 30 Nov 2020 14:34:16 +0100 Subject: [Lazarus] Issues with apps on Linux... Message-ID: <3js9sfhtctchvc3ch93bk6rcad5s4hdeeu@4ax.com> I have two questions regarding Lazarus applications on Linux (Ubuntu 18 Mate): 1) Clipboard content erased on close? I have an application with a form where the form size anmd position is stored into the clipboard on form close using a method of the form. This method is also called on form resize. The problem is that while the application runs the resize operations cause the clipboard to be set up with the form size and it can be pasted elsewhere. But when the app is closed and the same function is called to save the size to the clipboard the result is empty. Nothing to paste in another application.. Is this how it must be on Linux? On Windows the clipboard content is not erased... 2) Is there a way to make forms transparent on Linux? Using the AlphaBlend and AlphaBlendValue do not wor while they do on Windows. Is there some other way on Linux to make the form body transparent? I need to see the background through it since I want to "measure" the object by moving the form on top and adjusting its size to fit. -- Bo Berglund Developer in Sweden From aksdb at gmx.de Mon Nov 30 19:12:46 2020 From: aksdb at gmx.de (Andreas Schneider) Date: Mon, 30 Nov 2020 19:12:46 +0100 Subject: [Lazarus] Issues with apps on Linux... In-Reply-To: <3js9sfhtctchvc3ch93bk6rcad5s4hdeeu@4ax.com> References: <3js9sfhtctchvc3ch93bk6rcad5s4hdeeu@4ax.com> Message-ID: <0bf0ff83ec22d1c94db3115bf68f3b01@gmx.de> Am 2020-11-30 14:34, schrieb Bo Berglund via lazarus: > 1) Clipboard content erased on close? > I have an application with a form where the form size anmd position is > stored into the clipboard on form close using a method of the form. > This method is also called on form resize. > The problem is that while the application runs the resize operations > cause the clipboard to be set up with the form size and it can be > pasted elsewhere. > But when the app is closed and the same function is called to save the > size to the clipboard the result is empty. Nothing to paste in another > application.. > Is this how it must be on Linux? > On Windows the clipboard content is not erased... I also only learned this quite recently and was surprised by this, but yes, that is unfortunately how it works on X11. Pasting basically asks the application that "copied" it to get the content. If that app is gone in the meantime, there's nothing to paste anymore. This will likely change with Wayland, but then it will also need some unified API, which there is not yet, afaik. -- Best Regards Andreas From juha.manninen62 at gmail.com Mon Nov 30 21:08:39 2020 From: juha.manninen62 at gmail.com (Juha Manninen) Date: Mon, 30 Nov 2020 22:08:39 +0200 Subject: [Lazarus] Issues with apps on Linux... In-Reply-To: <0bf0ff83ec22d1c94db3115bf68f3b01@gmx.de> References: <3js9sfhtctchvc3ch93bk6rcad5s4hdeeu@4ax.com> <0bf0ff83ec22d1c94db3115bf68f3b01@gmx.de> Message-ID: On Mon, Nov 30, 2020 at 8:12 PM Andreas Schneider via lazarus < lazarus at lists.lazarus-ide.org> wrote: > I also only learned this quite recently and was surprised by this, but > yes, that is unfortunately how it works on X11. Pasting basically asks > the application that "copied" it to get the content. If that app is gone > in the meantime, there's nothing to paste anymore. > > This will likely change with Wayland, but then it will also need some > unified API, which there is not yet, afaik. > Proper desktop systems have a clipboard manager which caches the data and essentially makes clipboard persistent. At least my KDE Plasma has it. An app in the taskbar also shows clipboard history which can be browsed and selected. Thus it is better than a traditional clipboard. I recommend such versatile desktops for anybody. At least KDE Plasma has been optimized over time and is now slim and fast. Memory consumption is not really more than with XFCE. Once a user opens Firefox, it hogs more memory than any desktop, thus overturning any benefits a minimal desktop might have given. Juha -------------- next part -------------- An HTML attachment was scrubbed... URL: From bo.berglund at gmail.com Mon Nov 30 21:51:56 2020 From: bo.berglund at gmail.com (Bo Berglund) Date: Mon, 30 Nov 2020 21:51:56 +0100 Subject: [Lazarus] Issues with apps on Linux... References: <3js9sfhtctchvc3ch93bk6rcad5s4hdeeu@4ax.com> <0bf0ff83ec22d1c94db3115bf68f3b01@gmx.de> Message-ID: On Mon, 30 Nov 2020 22:08:39 +0200, Juha Manninen via lazarus wrote: >Once a user opens Firefox, it hogs more memory than any desktop, thus >overturning any benefits a minimal desktop might have given. +1 On Windows I have to regularly shut down all instances of FireFox with all of the tabs saved to a bookmark folder in order to clean up networking. It seems like FFx not only steals memory but also messes with networking so that it is like "pouring molasses" over it... Any ideas about transparent forms allowing look-through on Linux? Works in Windows, but... -- Bo Berglund Developer in Sweden From m.e.sanliturk at gmail.com Mon Nov 30 22:02:09 2020 From: m.e.sanliturk at gmail.com (Mehmet Erol Sanliturk) Date: Tue, 1 Dec 2020 00:02:09 +0300 Subject: [Lazarus] Issues with apps on Linux... In-Reply-To: References: <3js9sfhtctchvc3ch93bk6rcad5s4hdeeu@4ax.com> <0bf0ff83ec22d1c94db3115bf68f3b01@gmx.de> Message-ID: On Mon, Nov 30, 2020 at 11:52 PM Bo Berglund via lazarus < lazarus at lists.lazarus-ide.org> wrote: > On Mon, 30 Nov 2020 22:08:39 +0200, Juha Manninen via lazarus > wrote: > > >Once a user opens Firefox, it hogs more memory than any desktop, thus > >overturning any benefits a minimal desktop might have given. > > +1 > On Windows I have to regularly shut down all instances of FireFox with > all of the tabs saved to a bookmark folder in order to clean up > networking. > It seems like FFx not only steals memory but also messes with > networking so that it is like "pouring molasses" over it... > > Any ideas about transparent forms allowing look-through on Linux? > Works in Windows, but... > > > -- > Bo Berglund > Developer in Sweden > > -- > _______________________________________________ > > In Fedora with KDE , if you press the left mouse button when the cursor is on the taskbar of a Lazarus form ( and all of the other open windows of applications ) it becomes transparent to be sufficient to see the underside of it . Mehmet Erol Sanliturk -------------- next part -------------- An HTML attachment was scrubbed... URL: From m.e.sanliturk at gmail.com Mon Nov 30 22:12:03 2020 From: m.e.sanliturk at gmail.com (Mehmet Erol Sanliturk) Date: Tue, 1 Dec 2020 00:12:03 +0300 Subject: [Lazarus] Issues with apps on Linux... In-Reply-To: References: <3js9sfhtctchvc3ch93bk6rcad5s4hdeeu@4ax.com> <0bf0ff83ec22d1c94db3115bf68f3b01@gmx.de> Message-ID: On Tue, Dec 1, 2020 at 12:02 AM Mehmet Erol Sanliturk < m.e.sanliturk at gmail.com> wrote: > > > On Mon, Nov 30, 2020 at 11:52 PM Bo Berglund via lazarus < > lazarus at lists.lazarus-ide.org> wrote: > >> On Mon, 30 Nov 2020 22:08:39 +0200, Juha Manninen via lazarus >> wrote: >> >> >Once a user opens Firefox, it hogs more memory than any desktop, thus >> >overturning any benefits a minimal desktop might have given. >> >> +1 >> On Windows I have to regularly shut down all instances of FireFox with >> all of the tabs saved to a bookmark folder in order to clean up >> networking. >> It seems like FFx not only steals memory but also messes with >> networking so that it is like "pouring molasses" over it... >> >> Any ideas about transparent forms allowing look-through on Linux? >> Works in Windows, but... >> >> >> -- >> Bo Berglund >> Developer in Sweden >> >> -- >> _______________________________________________ >> >> > > In Fedora with KDE , if you press the left mouse button when the cursor is > on the taskbar of a Lazarus form ( and all of the other open windows of > applications ) it becomes transparent to be sufficient to see the > underside of it . > > I am sorry , not "taskbar`" but the "title bar" ... > Mehmet Erol Sanliturk > > -------------- next part -------------- An HTML attachment was scrubbed... URL: