Re: [Lazarus] LaztoApk troubles

2015-09-22 Thread coppolastudio
"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:


Re: [Lazarus] How to see sockets in Lazarus 1.4.0?

2015-09-22 Thread Bo Berglund
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


[Lazarus] TInetSocket usage - any documentation available?

2015-09-22 Thread Bo Berglund
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] Cross-compiling for Raspberry Pi2

2015-09-22 Thread Bo Berglund
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

2015-09-22 Thread Bo Berglund
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


Re: [Lazarus] Cross-compiling for Raspberry Pi2

2015-09-22 Thread Martin Schreiber
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

2015-09-22 Thread Michael Schnell

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

2015-09-22 Thread Michael Schnell

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

2015-09-22 Thread Marc Weustink

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] Cross-compiling for Raspberry Pi2

2015-09-22 Thread Michael Schnell

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] Storing projects in subversion (or git etc.)

2015-09-22 Thread Mark Morgan Lloyd

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

2015-09-22 Thread Michael Schnell

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


Re: [Lazarus] Cross-compiling for Raspberry Pi2

2015-09-22 Thread Michael Schnell

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] Storing projects in subversion (or git etc.)

2015-09-22 Thread Marco van de Voort
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] Project options lock IDE

2015-09-22 Thread FreeMan

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] Cross-compiling for Raspberry Pi2

2015-09-22 Thread Lukasz Sokol
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] Cross-compiling for Raspberry Pi2

2015-09-22 Thread Michael Van Canneyt



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

2015-09-22 Thread Michael Schnell

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] *SPAM* Re: Cross-compiling for Raspberry Pi2

2015-09-22 Thread Michael Schnell

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] Storing projects in subversion (or git etc.)

2015-09-22 Thread Mattias Gaertner
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

2015-09-22 Thread Michael Schnell

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] Cross-compiling for Raspberry Pi2

2015-09-22 Thread Michael Van Canneyt



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] Cross-compiling for Raspberry Pi2

2015-09-22 Thread Graeme Geldenhuys
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] Storing projects in subversion (or git etc.)

2015-09-22 Thread Graeme Geldenhuys
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

2015-09-22 Thread Graeme Geldenhuys
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] *SPAM* Re: Cross-compiling for Raspberry Pi2

2015-09-22 Thread Michael Schnell

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

2015-09-22 Thread Lukasz Sokol
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] Cross-compiling for Raspberry Pi2

2015-09-22 Thread Graeme Geldenhuys
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] Cross-compiling for Raspberry Pi2

2015-09-22 Thread Lukasz Sokol
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

2015-09-22 Thread Lukasz Sokol
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 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