On Wed, 23 Jul 2003, Lukas Gebauer wrote:
> because I am new in FPC community, can someone explain me what is bad
> on threads implementation on FPC? (TThread object interesting me.)
1. Threads don't work in FPC 1.0.X
2. In FPC 1.1, threads are implemented as a language construct
(i.e. threa
On Wed, Jul 23, 2003 at 08:50:35AM +0200, Michael Van Canneyt wrote:
>
>
> On Wed, 23 Jul 2003, James Mills wrote:
>
> > On Wed, Jul 23, 2003 at 03:28:55AM +0200, Marco van de Voort wrote:
> > > > I can successully compile and test the plugin source listed at
> > > > http://xchat.org/docs/plugin
On Wed, Jul 23, 2003 at 08:51:10AM +0200, Michael Van Canneyt wrote:
>
>
> On Wed, 23 Jul 2003, James Mills wrote:
>
> > On Wed, Jul 23, 2003 at 03:28:55AM +0200, Marco van de Voort wrote:
> > > > I can successully compile and test the plugin source listed at
> > > > http://xchat.org/docs/plugin
> And the other way around. The main problem with Borland is that it only
> supports one and a half platform on one processor.
Sure, but Borland is home for Synapse.
I create Synapse primary for my programs. I am professional
programmer and I create lot of commercial programs by my Synapse.
This
> It's pretty hard to use blocking sockets without multiple threads without
> your application halting whenever there is a request that takes a long time
> to respond.
yes, but... with other large TCP/IP libraries you MUST use threads...
with synapse you CAN use threads. This is mojor difference!
LG> yes, but... with other large TCP/IP libraries you MUST use threads...
LG> with synapse you CAN use threads. This is mojor difference! One day
LG> will be finished thread support in FPC and all will be happy. ;-)
Why must I use threads?
Following works perfectly for me for many years:
ioctl(S
On Wed, 23 Jul 2003, Lukas Gebauer wrote:
> > And the other way around. The main problem with Borland is that it only
> > supports one and a half platform on one processor.
>
> Sure, but Borland is home for Synapse.
>
> I create Synapse primary for my programs. I am professional
> programmer and
> LG> yes, but... with other large TCP/IP libraries you MUST use threads...
> LG> with synapse you CAN use threads. This is mojor difference! One day
> LG> will be finished thread support in FPC and all will be happy. ;-)
>
> Why must I use threads?
Because not exists non-blocking large TCP/IP lib
> > I create Synapse primary for my programs. I am professional
> > programmer and I create lot of commercial programs by my Synapse.
> > This is reason why Borland is very important for me. Programming is
> > not only compiler, but IDE too! I not see comparable IDE for FPC with
> > Borlands IDE. ;
On Wed, 23 Jul 2003 11:36:58 +0200 (W. Europe Daylight Time)
Michael Van Canneyt <[EMAIL PROTECTED]> wrote:
>
>
> On Wed, 23 Jul 2003, Lukas Gebauer wrote:
>
> > > And the other way around. The main problem with Borland is that it
> > > only supports one and a half platform on one processor.
>
On Wed, 23 Jul 2003, Lukas Gebauer wrote:
> > > I create Synapse primary for my programs. I am professional
> > > programmer and I create lot of commercial programs by my Synapse.
> > > This is reason why Borland is very important for me. Programming is
> > > not only compiler, but IDE too! I no
The answer is simple, but very illusive!!!
while (GetMessage(wmsg, FWindowHandle, 0, 0)) do begin
if not ( IsDialogMessage(FWindowHandle, wmsg) ) then ///this is the
line you nees to add
TranslateMessage(wmsg);
DispatchMessage(wmsg);
end;
If you look at what TranslateMessage actu
Tabbing through controls is handled in DefDialogProc() when 1) dialog is
modal or 2) you call IsDialogMessage() explicitly. I have no idea how to
implement this when the buttons are inserted into a window of another
class (when DefDialogProc is not the window procedure); certainly it is
possible so
> Why must I use threads?
You must use threads in blocking tcp/ip else you will hang your application
everytime the network traffic slows or the application you connect to
(server?) does not immediately respond. Try changing your calls to blocking
and see what happens.
> Following works perfectly
> > When I see to latest voting on lazarus page, then I think, lot of
> > people need lazarus for Win32... But lazarus Win32 binary downloads
> > is empty. ;-(
>
> This is correct.
> The lazarus team needs people to help develop the win32 version.
What is major problem in developing of WIN32 lazar
ME> Use threads and blocking api.
I have (almost) nothing against threads, but they definitely have
disadvantages to, especially when used in a huge project:
1. synchronization - need to use critical sections / locks
2. they are very hard to debug and time dependant bugs can be
introduced.
3. man
> > And the other way around. The main problem with Borland is that it only
> > supports one and a half platform on one processor.
>
> Sure, but Borland is home for Synapse.
Also for FPC. See FPC as yet another Delphi version to support. If you
do a large Delphi product that will compile with a l
> > Following works perfectly for me for many years:
> >
> > ioctl(Sock,FIONBIO,@tmp); // nonblocking
> >
> > All but one applications are single thread.
>
> Yes. You are using the 'work around'. Traditional UNIX sockets block.
> Microsoft (and others) realised this would not work with a co-operat
> > > When I see to latest voting on lazarus page, then I think, lot of
> > > people need lazarus for Win32... But lazarus Win32 binary downloads
> > > is empty. ;-(
> >
> > This is correct.
> > The lazarus team needs people to help develop the win32 version.
>
> What is major problem in developin
> Tabbing through controls is handled in DefDialogProc() when 1) dialog is
> modal or 2) you call IsDialogMessage() explicitly. I have no idea how to
> implement this when the buttons are inserted into a window of another
> class (when DefDialogProc is not the window procedure); certainly it is
> p
> > Sure, but Borland is home for Synapse.
> Also for FPC. See FPC as yet another Delphi version to support. If you
> do a large Delphi product that will compile with a lot of versions, you
> have to make adaptations also.
But is is not easy! I create my code on Delphi3, and it working on
all high
> Hmm, I think this is more due to the move to event driven programming
models
> than cooperative multitasking.
No, that is a hlf truth. Have you ever tried to write blocking tcp/ip code
without threads? It will block untill it receives the response. This
*completely* stops the flow of the applic
> When I porting Synapse into FPC, then i find lot of incompatibilities
> between Win32FPC and LinuxFPC. For example, look to Kylix
> sysutils.pas... in FPC is not here lot of stuffs! Some stuffs is in
> another units, some stuffs is missing at all. This is very bad
> situation for create programs
On Wed, 23 Jul 2003, Matt Emson wrote:
> > When I porting Synapse into FPC, then i find lot of incompatibilities
> > between Win32FPC and LinuxFPC. For example, look to Kylix
> > sysutils.pas... in FPC is not here lot of stuffs! Some stuffs is in
> > another units, some stuffs is missing at all.
>
> > Hmm, I think this is more due to the move to event driven programming
> models
> > than cooperative multitasking.
>
> No, that is a hlf truth. Have you ever tried to write blocking tcp/ip code
> without threads?
Yes.
> It will block untill it receives the response. This completely* stops
> > Even better, without any alterations, I would hope that VCL style
> > implementations would simple seamlessly compile using the wrapper.
>
> ICS of Francois Piette - with some minor patches - compiles using FPC.
> Synapse as well. The changes have been quite minor - even some potential
> bugs
> So finally, I don't think we're doing a bad job. We'll get there, slowly
> but surely.
You're all doing a good job, I was just pointing out that these are not new
issues.
> > Strings.pp for example holds a lot of string related functions that
really
> > need to be in sysutils now.
>
> They are
On Wed, 23 Jul 2003, Matt Emson wrote:
>
> > So finally, I don't think we're doing a bad job. We'll get there, slowly
> > but surely.
>
> You're all doing a good job, I was just pointing out that these are not new
> issues.
>
> > > Strings.pp for example holds a lot of string related functions t
> But under Dos you would do simple polling, since the eventloop of your
own.
> The rest is event driven. (Dos can also be eventdriven, e.g. Turbo Vision,
> but the eventloop is under your control)
Yes, but doing that in DOS was not trivial. Where as in UNIX it's just a
fork away.
> While with mo
In reply to your message of July 23, 2003
> The answer is simple, but very illusive!!!
> while (GetMessage(wmsg, FWindowHandle, 0, 0)) do begin
> if not ( IsDialogMessage(FWindowHandle, wmsg) ) then ///this is the
> line you nees to add
> TranslateMessage(wmsg);
> DispatchMessage(
> > > Sure, but Borland is home for Synapse.
> > Also for FPC. See FPC as yet another Delphi version to support. If you
> > do a large Delphi product that will compile with a lot of versions, you
> > have to make adaptations also.
>
> But is is not easy! I create my code on Delphi3, and it working
> In reply to your message of July 23, 2003
>
>
> > The answer is simple, but very illusive!!!
>
> > while (GetMessage(wmsg, FWindowHandle, 0, 0)) do begin
> > if not ( IsDialogMessage(FWindowHandle, wmsg) ) then ///this is the
> > line you nees to add
> > TranslateMessage(wmsg);
> >
> Because strings already existed in TP.
> Delphi merged several 'old' tp units into one: DOS/Strings -> sysutils.
You only therfore need sysutils, *or* the old scheme. Not both. I understand
why this was done by Borland. Legacy is hard to break, and D1 broke with
legacy.
> > You don't follow the
> > But is is not easy! I create my code on Delphi3, and it working on
> > all higher versions without any modification!
>
> And does it work on lower versions without any modification? Otherwise
> you still don't support multiple versions.
Delphi 1 would be unlikely. Delphi 2 was an awful compile
On woensdag, jul 23, 2003, at 16:46 Europe/Brussels, Matt Emson wrote:
You only therfore need sysutils, *or* the old scheme. Not both.
You do need both if you advertise both TP and Delphi compatibility.
Jonas
___
fpc-pascal maillist - [EMAIL PROTECTE
[some minor remarks]
> Maybe FPC would be simpler if it was 2 or 3 exe's. e.g. fpc_tp[.exe],
> fpc_obj[.exe] and fpc_bd[.exe]. I include an fpc_obj to be polite as I see
> no real need for it. I made my opinion of the obj fpc made clear a long time
> ago ;-)
Opinions differ. But the IDE and part
> On woensdag, jul 23, 2003, at 16:46 Europe/Brussels, Matt Emson wrote:
>
> > You only therfore need sysutils, *or* the old scheme. Not both.
>
> You do need both if you advertise both TP and Delphi compatibility.
Use aliases for sysutils. That or aliases in Delphi mode for strings, dos
etc.
Mat
On woensdag, jul 23, 2003, at 17:04 Europe/Brussels, Matt Emson wrote:
Use aliases for sysutils. That or aliases in Delphi mode for strings,
dos
etc.
That's kind of hard to do if you don't support aliases yet. We may
support them now, but we most certainly did not support them when those
units
In reply to your message of July 23, 2003
> If we had a lot of hard working people, we could make a nice new set of
> platform dependant units, and more and more TP units would become legacy.
This is a truly interesting discussion, I hope you don't mind a few comments
from someone who's just now
> > But is is not easy! I create my code on Delphi3, and it working on
> > all higher versions without any modification!
> And does it work on lower versions without any modification? Otherwise
> you still don't support multiple versions.
what? I support Delphi 3, 4, 5, 6 and 7... is is not multip
40 matches
Mail list logo