Re: [Lazarus] How to see sockets in Lazarus 1.4.0?
On Tue, 22 Sep 2015, Bo Berglund wrote: On Mon, 21 Sep 2015 19:05:53 +0200 (CEST), Michael Van Canneyt wrote: On Mon, 21 Sep 2015, Bo Berglund wrote: Can someone point me to some instructions on how to make the sockets visible in Lazarus? They are not visible, they are not components. You must create them in code. I do believe there is a third-party package which can work on top of Synapse, and which contains components you can drop on a data module. Thanks! I have another visibility question: In Delphi7 I usually show both the Object Inspector and the Code Explorer and I always dock them together in one floating window. Is this possible also in Lazarus? I seem not to be able to dock them together using the tricks of Delphi7 It is, if you install one of the docking packages. Michael. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On Wednesday 23 September 2015 06:33:02 Bo Berglund wrote: > On Tue, 22 Sep 2015 10:00:12 +0200, Michael Schnell > > wrote: > >On 09/21/2015 04:42 PM, Bo Berglund wrote: > >> Unfortunately since the existing code is built on non-blocking serial > >> communications and events to handle the data reception ... > > > >You can convert a blocking socket (or serial port receive) to be a > >non-blocking Event-triggering (i.e. Delphi-Paradigm based) code by > >encapsulating the blocking API in a thread and fire an event to the main > >threads by TThread.Synchronize, TThread.Queue or > >Application.QueueAsyncCall. Now you can do the complex work in the main > >Thread event. > > That is what I figured I could do with the TInetSocket I found in some > response here. I have verified it ships with FPC so I don't have to do > any install or such to get it too. > > But since I did not find any documentation "for Dummies" on > TInetSocket I am not at all sure what I should do to add a therad to > manage it via an event handler. The MSEgui socket components (and the pipe reader and RS232 components too BTW) implement the model Michael describes. They have the event properties "oninputavailable" and "onsocketbroken". If you like to build something like this yourself based on "TInetSocket" the code is here: https://gitlab.com/mseide-msegui/mseide-msegui/tree/master/lib/common/ifi (msesockets.pas) https://gitlab.com/mseide-msegui/mseide-msegui/tree/master/lib/common/serialcomm (msesercomm.pas) https://gitlab.com/mseide-msegui/mseide-msegui/tree/master/lib/common/kernel (msepipestream.pas). Martin -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On Tue, 22 Sep 2015 10:00:12 +0200, Michael Schnell wrote: >On 09/21/2015 04:42 PM, Bo Berglund wrote: >> Unfortunately since the existing code is built on non-blocking serial >> communications and events to handle the data reception ... > >You can convert a blocking socket (or serial port receive) to be a >non-blocking Event-triggering (i.e. Delphi-Paradigm based) code by >encapsulating the blocking API in a thread and fire an event to the main >threads by TThread.Synchronize, TThread.Queue or >Application.QueueAsyncCall. Now you can do the complex work in the main >Thread event. > That is what I figured I could do with the TInetSocket I found in some response here. I have verified it ships with FPC so I don't have to do any install or such to get it too. But since I did not find any documentation "for Dummies" on TInetSocket I am not at all sure what I should do to add a therad to manage it via an event handler. I looked at the ssocket unit and found the declaration of TInetSocket as follows: [code] TInetSocket = Class(TSocketStream) Private FHost : String; FPort : Word; Protected Procedure DoConnect(ASocket : longint); Virtual; Public Constructor Create(ASocket : longint); Override; Overload; Constructor Create(const AHost: String; APort: Word); Overload; Property Host : String Read FHost; Property Port : Word Read FPort; end; [/code] At this level it seems very sparse so I have to drill down to its ancestor TSocketStream: [code] TSocketStream = class(THandleStream) Private FReadFlags: Integer; FSocketInitialized : Boolean; FSocketOptions : TSocketOptions; FLastError : integer; FWriteFlags: Integer; Procedure GetSockOptions; Procedure SetSocketOptions(Value : TSocketOptions); function GetLocalAddress: TSockAddr; function GetRemoteAddress: TSockAddr; Public Constructor Create (AHandle : Longint);virtual; destructor Destroy; override; function Seek(Offset: Longint; Origin: Word): Longint; override; Function Read (Var Buffer; Count : Longint) : longint; Override; Function Write (Const Buffer; Count : Longint) :Longint; Override; Property SocketOptions : TSocketOptions Read FSocketOptions Write SetSocketOptions; property LocalAddress: TSockAddr read GetLocalAddress; property RemoteAddress: TSockAddr read GetRemoteAddress; Property LastError : Integer Read FLastError; Property ReadFlags : Integer Read FReadFlags Write FReadFlags; Property WriteFlags : Integer Read FWriteFlags Write FWriteFlags; end; [/code] And then I have to go further to THandleStream: [code] THandleStream = class(TStream) private FHandle: THandle; protected procedure SetSize(NewSize: Longint); override; procedure SetSize(const NewSize: Int64); override; public constructor Create(AHandle: THandle); function Read(var Buffer; Count: Longint): Longint; override; function Write(const Buffer; Count: Longint): Longint; override; function Seek(const Offset: Int64; Origin: TSeekOrigin): Int64; override; property Handle: THandle read FHandle; end; [/code] And I am lost. In all of this where could I for instance check if there are received data to read? The Read method being blocking would not really be useful, right? I don't want to call anything that can potentially be stuck and never return... The minimum would be to be able to set a (short) timeout on the Read() method. But I don't see that. Do you have any pointers? And btw thanks for your help so far! :) -- Bo Berglund Developer in Sweden -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On Tue, 22 Sep 2015 16:18:23 +0100, Graeme Geldenhuys wrote: >Here is the result of just one such case... You often end up with this >after a 15 year development cycle. > > http://geldenhuys.co.uk/~graemeg/datamodule.png > > That was pretty impressively unreadable! I know we have used data modules too in order to stuff non-visual components on and then get the RAD studio help in fixing the GUI dependencies, but we never walked this far Thanks for showing it, it is a reminder to keep things tidy! As for the thread topic, I think I have already gotten the info I need: 1) Don't cross-compile 2) First port over to Lazarus in Windows <= I will start here soon 3) Next port to Lazarus on Linux (I have a Linux Mint virtual machine) 4) Finally port over to Raspberry Pi This voids any need for cross-compilig, and the final step gets me the end result compiled on the final hardware. Other threads created for other related topics -- Bo Berglund Developer in Sweden -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
[Lazarus] TInetSocket usage - any documentation available?
I have looked for a native FPC TCP/IP socket to use as a replacement for a serial port component and I discovered the ssockets unit that ships with FPC and contains a TInetSocket class. This seemed useful. So I put together a test console application in Lazarus 1.4.0 where I had this in order to verify that FPC would find it: [code] procedure TSSRemoteTestApp.DoRun; var ErrorMsg: String; FSSConn: TInetSocket; begin //Stuff added by Lazarus removed . { add your program here } FSSConn := TInetSocket.Create('10.0.0.2', 2001); // stop program loop Terminate; end; [/code] After I added the ssockets unit to the uses clause this compiled and so it seems like it will work. My next problem is actually finding some description on what one can do with that object... Is there somewhere a comprehensive guide on usage of this socket in a simple case as mine: - Connect once and keep connection until end of program - Send commands and binary data via a TCP/IP socket to the other end - Fire an event when there are data received so they can be handled I think that TInetSocket is actually blocking so I would have to use some thread or such to retrieve incoming data and decode that and feed it to the main program level for processing. But how? I have only minimal info on what the TInetSocket can actually do. When I google TInetSocket I get results that are not referring to this socket at all. Instead they refer to general TCP/IP articles or descriptions of OTHER socket implementations. :( My reason for this: I have a quite large Delphi project for communications via RS232 to a data collection system. This was developed over several years. Now I need to create a new application that must run on an ARM embedded platform (first test will be Raspberry Pi2) and communicate via WiFi to the data collection system. It must use my existing Delphi7 classes to control the instrument and manage the data, but replace the RS232 component with a TCP/IP socket component available on FPC. The data shifted through the socket will be EXACTLY the same as was earlier transferred by RS232. Any suggestions on where I can find suitable documentation? -- Bo Berglund Developer in Sweden -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] How to see sockets in Lazarus 1.4.0?
On Mon, 21 Sep 2015 19:05:53 +0200 (CEST), Michael Van Canneyt wrote: > > >On Mon, 21 Sep 2015, Bo Berglund wrote: > >> Can someone point me to some instructions on how to make the sockets >> visible in Lazarus? > >They are not visible, they are not components. >You must create them in code. > >I do believe there is a third-party package which can work on top of Synapse, >and which contains components you can drop on a data module. > Thanks! I have another visibility question: In Delphi7 I usually show both the Object Inspector and the Code Explorer and I always dock them together in one floating window. Is this possible also in Lazarus? I seem not to be able to dock them together using the tricks of Delphi7 -- Bo Berglund Developer in Sweden -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] LaztoApk troubles
"Got it" I meant pay 1000 euros to hit F9 and get apk. Next days when I will have free time I'll take a look and if I got laztoapk working for sure I will share. Samuel Herzog ha scritto: >HelloSalvatore,greattohearitisworkingforyounow.Whatdoyousuggesttochangetomakethingsbetterfornewusers?Ihavereadsomepostsfromotherfolkswiththesameproblems/experienceasyoudiscovered?SamVon:SalvatoreCoppolacoppolastudio@gmail.comAn:Lazarusmailinglistlazarus@lists.lazarus.freepascal.orgGesendet:11:04Montag,21.September2015Betreff:Re:[Lazarus]LaztoApktroublesSam,thanksforthereply,gotit!Salvatore2015-09-1920:16GMT+02:00sam_herzogsam_her...@yahoo.com:HelloSalvatore,firstIwouldliketoexplainalittleaboutlaztoapk.Itjusthelpsyouinstallthewholetoolchain,jdk,sdk,ndkandlaz4android.Andtocreatethebatch-file(.bat)tocompile,signandpackageavalid.apkfile.Theproblemyouaretalkingaboutcanbesolvedbyeitherusingthebatch-filesdirectlyoryoucanusethetabsheet"manual".Regards,DelphiFreakbtwIboughtdelphixe10lastweekandwasabletogenerateavalidandroidpackage(.apk)byjustpressingF9.Nicebutwillcostyouaround1000euros.VonSamsung-TabletgesendetUrsprünglicheNachrichtVon:SalvatoreCoppolacoppolastudio@gmail.comDatum:19.09.201509:44(GMT+01:00)An:Lazarusmailinglistmailto:lazarus@lists.lazarus.freepascal.org";-- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On 22/09/15 16:18, Graeme Geldenhuys wrote: > On 2015-09-22 15:27, Lukasz Sokol wrote: >> [...] >> Sometimes I want it to 'just work' and be based on well known and understood >> code base, > > I understand my code just fine. :) I have also built up a "developers > toolbox" over the years which includes tons of code snippets, code > templates, template projects, template forms etc. Simply copy it in, do > a rename here or there, and away I go. This saves me stacks of time and > it 'just works' too. ;-) It's more probably like, if I want to create a networked application, even something that communicates through locally opened sockets on 127.0.0.1, I have some usable options that separate me from the under-the-bonnet insides of TCP/IP stack, i can use them or ... or I can reinvent Synapse... which I'd rather not. In deep abstract sense, making T(FP)Timer and Event-Driven programming to work universally, whether as dragged&dropped component or as instantiated class, is more similar to the above. To me, as a rookie, anyway ;) > > But hey, we are seriously straying off-topic. Better stop here before I > get band from the mailing lists again. > OK. > > Regards, > - Graeme - > el es -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On 22/09/15 16:18, Graeme Geldenhuys wrote: > On 2015-09-22 15:27, Lukasz Sokol wrote: >> [...] > >> Aren't you making the tiOPF designer and framework for that purpose actually? > > What is "tiOPF designer"? > sorry I meant fpGUI ;) and tiOPF. el es -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On 2015-09-22 15:27, Lukasz Sokol wrote: > > RAD might not just mean 'drag a component from the palette to a form' ;) Show me one developer that doesn't think that. :) I haven't met any yet. >> over and over. RAD is only good for prototyping or small utility apps. > > Mmmm, from your own garden ;) No, from commercial companies I worked for in the past - where Delphi based projects have been in development of many years (eg: started with D3 and upgraded as Delphi got released) and gone through stacks of developers as they come and go. Here is the result of just one such case... You often end up with this after a 15 year development cycle. http://geldenhuys.co.uk/~graemeg/datamodule.png > Aren't you making the tiOPF designer and framework for that purpose actually? What is "tiOPF designer"? > Sometimes I want it to 'just work' and be based on well known and understood > code base, I understand my code just fine. :) I have also built up a "developers toolbox" over the years which includes tons of code snippets, code templates, template projects, template forms etc. Simply copy it in, do a rename here or there, and away I go. This saves me stacks of time and it 'just works' too. ;-) But hey, we are seriously straying off-topic. Better stop here before I get band from the mailing lists again. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] *SPAM* Re: Cross-compiling for Raspberry Pi2
On 09/22/2015 12:32 PM, Michael Schnell wrote: RAD does not require Event Programming, nor makes Event Programming a project "RAD To me "RAD" more means stuff like doing the "business logic" code directly in the unit that is used for the GUI handling. (Using Events that can easily be overcome by doing appropriate GUI Objects in one Unit and Business Logic Objects in another one and link those via properties and Events (=callbacks). -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On 22/09/15 10:43, Graeme Geldenhuys wrote: > On 2015-09-22 at 11:28, Michael Schnell wrote: >> Delphi/Lazarus enabled software and "makes the difference" >> that makes using such programming systems desirable over "legacy" >> programming methods. > > > Now you are approaching “dangerous” territory. :-) Just because Delphi > and Lazarus promotes the idea of RAD development - definitely doesn’t > mean you should. RAD might not just mean 'drag a component from the palette to a form' ;) In some sense, even the (responsibly applied) OOP paradigm leads to (more) rapid (program) development... > > If you want to develop any easy to maintain application over a long > term - definitely DO NOT USE RAD style development. This was proven > over and over. RAD is only good for prototyping or small utility apps. Mmmm, from your own garden ;) Aren't you making the tiOPF designer and framework for that purpose actually? > There is no substitute for well designed code - like when using the > well documented (tried and tested) Design Patterns, or well separated > code (UI layer, Storage layer, Business rules). > True, that. > Designing a Service or Daemon application without TTimer usage > definitely doesn't mean it is “bad” or “legacy” coding style. It might > just mean you are not using RAD style development. Nothing wrong with > that! > Sometimes I want it to 'just work' and be based on well known and understood code base, or just have no time to develop the intricacies of low-level e.g. timer handling stuff... and/or agree to the price of being limited by the 'underlying libraries'. Or find that when used the prototype it 'works well enough' for us (thanks to all the optimization & fixes from the Teams of Lazarus and FPC). (it actually means 'works amazingly') Or just don't want to reinvent the wheel for the gazilionth time... > > Regards, > - Graeme - > el es -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] *SPAM* Re: Cross-compiling for Raspberry Pi2
On 09/22/2015 11:43 AM, Graeme Geldenhuys wrote: Now you are approaching “dangerous” territory. :-) Right, but RAD does not require Event Programming, nor makes Event Programming a project "RAD" ! OTHO you can of course state that preferring Event Programming over fully user managed code is a matter of taste I can't decently argue against that (I do fully user managed code with 90 % of my projects). But If the programming system suggests to to Event Programming for 90 % of the projects done by the users (i.e. for Desktop application) and every user is trained by doing this, to me it is not very "nice" to force the users to use a different paradigm when doing certain non-Desktop projects. And as you state yourself in the other mail, MSE proves that it is possible using fpc in a seamless way. (Not at all wanting to bash the Lazarus developers, as they do a great job and you can't expect that everything you want is just there out of the box. But OTOH ignoring the facts does not change them ;-) ) -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Storing projects in subversion (or git etc.)
On Tue, 22 Sep 2015 09:09:07 + Mark Morgan Lloyd wrote: > Marco van de Voort wrote: > > On Mon, Sep 21, 2015 at 09:35:13AM +, Mark Morgan Lloyd wrote: > of file should be put in a repository, and what is regenerated reliably? > > Obviously .lpi, .lpr, .lfm and .pas or .pp should be saved, and any > static .inc files. > >>> .rc > >> Should that be stored in all cases or is it version-specific? > > > > Only the ones you made yourself. IOW the same as with .res. > > Thanks, got it. > > Is there a Wiki page for "collected wisdom" relating to both Subversion > and Git, or would it be useful if I created one? About file types: maybe this page can be extended: http://wiki.lazarus.freepascal.org/File_extensions Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] *SPAM* Re: Cross-compiling for Raspberry Pi2
On 09/22/2015 11:48 AM, Graeme Geldenhuys wrote: Michael said it is possible, and I agree. Of course I do know. I did it myself (doing my version of TTimer and some more EventQueue enabled functions) Martin Schreiber told you many times in the past MSEgui's TTimer can be used in non-GUI projects. Of course I do know.I am discussing this with Marin since years. The Lazarus team simply haven't had the need to go that route - that doesn't mean it is impossible. Of course I do know. But I always get bashed when stating this. (And trying to discuss ways to improve that.) -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On Tue, 22 Sep 2015, Michael Schnell wrote: On 09/22/2015 11:33 AM, Michael Van Canneyt wrote: The answer is: Yes, it is. I never saw a Linux project without GUI binding that use TTimer. (Other than my own TTimer implementation, done in a compatible way.) Please ! sed/TTimer/TFPTimer/ and you're all done. If you cannot do that as a programmer, you should have your license revoked. Michael. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Storing projects in subversion (or git etc.)
On 2015-09-22 at 09:09, Mark Morgan Lloyd wrote: > Is there a Wiki page for "collected wisdom" relating to both > Subversion and Git, or would it be useful if I created one? It is called “The Internet”. ;-) Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On 2015-09-22 at 11:36, Michael Schnell wrote: > I never saw a Linux project without GUI binding that use TTimer. Michael said it is possible, and I agree. Martin Schreiber told you many times in the past MSEgui's TTimer can be used in non-GUI projects. The Lazarus team simply haven't had the need to go that route - that doesn't mean it is impossible. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On 2015-09-22 at 11:28, Michael Schnell wrote: > Delphi/Lazarus enabled software and "makes the difference" > that makes using such programming systems desirable over "legacy" > programming methods. Now you are approaching “dangerous” territory. :-) Just because Delphi and Lazarus promotes the idea of RAD development - definitely doesn’t mean you should. If you want to develop any easy to maintain application over a long term - definitely DO NOT USE RAD style development. This was proven over and over. RAD is only good for prototyping or small utility apps. There is no substitute for well designed code - like when using the well documented (tried and tested) Design Patterns, or well separated code (UI layer, Storage layer, Business rules). Designing a Service or Daemon application without TTimer usage definitely doesn't mean it is “bad” or “legacy” coding style. It might just mean you are not using RAD style development. Nothing wrong with that! Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://fpgui.sourceforge.net/ My public PGP key: http://tinyurl.com/graeme-pgp -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On 09/22/2015 11:33 AM, Michael Van Canneyt wrote: The answer is: Yes, it is. I never saw a Linux project without GUI binding that use TTimer. (Other than my own TTimer implementation, done in a compatible way.) -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On Tue, 22 Sep 2015, Michael Schnell wrote: On 09/22/2015 11:16 AM, Marc Weustink wrote: The Lazarus services I run here at work have zero GUI dependency. Of course you can do programs that don't have a GUI dependency (e.g. a Service/Daemon) using Lazarus. The question discussed is whether it is possible to use the "Event programming" paradigm to do the software (e.g. using TTimer) that is typical for Delphi/Lazarus enabled software and "makes the difference" that makes using such programming systems desirable over "legacy" programming methods. The answer is: Yes, it is. Michael. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On 09/22/2015 11:16 AM, Marc Weustink wrote: The Lazarus services I run here at work have zero GUI dependency. Of course you can do programs that don't have a GUI dependency (e.g. a Service/Daemon) using Lazarus. The question discussed is whether it is possible to use the "Event programming" paradigm to do the software (e.g. using TTimer) that is typical for Delphi/Lazarus enabled software and "makes the difference" that makes using such programming systems desirable over "legacy" programming methods. -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
Graeme Geldenhuys wrote: On 2015-09-21 12:37, Michael Schnell wrote: [...] The Lazarus team did a great job but needs to draw a line at certain locations. I don't know what Lazarus does with regards to Service/Daemon apps - my above mentioned application wasn't written with Lazarus (just a text editor and fpc compiler). Do they (Lazarus) introduce a GUI dependency for such applications? That would be stupid if they do. The Lazarus services I run here at work have zero GUI dependency. Marc -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Storing projects in subversion (or git etc.)
Marco van de Voort wrote: On Mon, Sep 21, 2015 at 09:35:13AM +, Mark Morgan Lloyd wrote: of file should be put in a repository, and what is regenerated reliably? Obviously .lpi, .lpr, .lfm and .pas or .pp should be saved, and any static .inc files. .rc Should that be stored in all cases or is it version-specific? Only the ones you made yourself. IOW the same as with .res. Thanks, got it. Is there a Wiki page for "collected wisdom" relating to both Subversion and Git, or would it be useful if I created one? -- Mark Morgan Lloyd markMLl .AT. telemetry.co .DOT. uk [Opinions above are the author's, not those of his employers or colleagues] -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On 22/09/15 08:47, Michael Schnell wrote: > On 09/21/2015 05:16 PM, Bo Berglund wrote: >> I don't really know how Telnet could tie in here. > "Telnet" is just a synonym for "transfer Bytes via TCP/IP without any > additional higher protocol". > > -Michael > https://tools.ietf.org/html/rfc854, it is not a synonym for 'just bytes', it is predominantly text - human readable oriented. for 'just bytes' you'd rather use 'just sockets', IMO(YMMV) el es -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Project options lock IDE
Bug report id #28709 http://bugs.freepascal.org/view.php?id=28709 On 21.09.2015 15:17, FreeMan wrote: fpc sv r31772 lazarus r49851 On 21.09.2015 11:17, Mattias Gaertner wrote: On Mon, 21 Sep 2015 10:12:17 +0300 FreeMan wrote: >I changed "" to "" >in project.lpi, then open in lazarus, IDE lock and this is gdb bt >result, what can be problem ? What fpc version do you use to build the IDE? Mattias -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Storing projects in subversion (or git etc.)
On Mon, Sep 21, 2015 at 09:35:13AM +, Mark Morgan Lloyd wrote: > >> of file should be put in a repository, and what is regenerated reliably? > >> > >> Obviously .lpi, .lpr, .lfm and .pas or .pp should be saved, and any > >> static .inc files. > > > > .rc > > Should that be stored in all cases or is it version-specific? Only the ones you made yourself. IOW the same as with .res. -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On 09/21/2015 06:08 PM, Martin Schreiber wrote: pport. Please compile MSEide with -dmse_with_ifirem in order to activate them. It also has "tnoguiapplication" in order to build daemon applications with an event loop where all nonvisual components including ttimer can be used. That is really nice ! Alternatively Bo could do a normal application and just ignore the GUI. I also would be happy to provide my NoGuiApplication code to him, if he would like to stay with Lazarus and try it. -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On 09/21/2015 04:42 PM, Bo Berglund wrote: Unfortunately since the existing code is built on non-blocking serial communications and events to handle the data reception ... You can convert a blocking socket (or serial port receive) to be a non-blocking Event-triggering (i.e. Delphi-Paradigm based) code by encapsulating the blocking API in a thread and fire an event to the main threads by TThread.Synchronize, TThread.Queue or Application.QueueAsyncCall. Now you can do the complex work in the main Thread event. -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On 09/21/2015 07:05 PM, Bo Berglund wrote: Fine, then I just need to make it visible inside Lazarus... I suppose you mean "accessible". Is it not enough to include the appropriate unit in the "uses" clause ? If not, I suppose you just need to add the file to the search path. -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
Re: [Lazarus] Cross-compiling for Raspberry Pi2
On 09/21/2015 05:16 PM, Bo Berglund wrote: I don't really know how Telnet could tie in here. "Telnet" is just a synonym for "transfer Bytes via TCP/IP without any additional higher protocol". -Michael -- ___ Lazarus mailing list Lazarus@lists.lazarus.freepascal.org http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus