[fpc-pascal] RE: fpc-pascal Digest, Vol 32, Issue 12

Jason P Sage jasonpsage at jegas.org
Tue Apr 17 12:58:21 CEST 2007

"Cosmin Prund" cosmin.prund at adicomsoft.ro Wrote: 
(1)    What do you recommend for managing an project? I started making
changes in the FP IDE using the menu-selects, but that doesn't seem like
a very portable solution. I do not expect my work to be important enough
for others to want it (and need to compile it) but I might need to move
my thing over to a different computer. I see no "project" menu in FP...

(2)    Is FP the only available IDE for FPC that works in the console
(i.e: may be used remotely over SSH)? I know there's Lazarus, and I've
installed it, but that's a graphical tool and that's overkill for my
needs (overkill for my network too!)

(3)    Is there an "getting started" document out there that talks about
project management?

(4)    What do I need to do to be able to debug? You know... step into,
step over, place a brakepoint...

Jason P sage Wrote:
I have outlook also and quoting is a pain.

Attempt at answering or at least my opinions concerning your questions.
For managing a project in Linux or Win32 - for stuff that is non lazarus
I personally just use a decent text editor that recognizes syntax
because the syntax color highlighting helps me. This doesn't give you
the break point option, but I always make a "logging" unit that allows
me to make simple calls like:

LogThis('MyRoutineName','Before Open Socket Call');
LogThis('MyRoutineName','After Open Socket Call. Socket:' +

I go even further to make variations that are named
DebugIn('Routinename') and DebugOut('RoutineName') that track nesting
levels - and product output like:

------> RoutineName
-------> NestedRoutineName
<------- NestedRoutineName
<------ RoutineName

So I can see where things crash - though this doesn't work to great for
multithreaded things unless each thread has a separate log so the
nesting makes sense.

Is this ideal? To many no - but I find getting around a file explorer
and the text editors not that bad when you are intimate with your
project and the log files help point you toward where things break and
let you log a variable value during runtime to see if its what you
expected etc.

I think the FPC guys did great on the FPC IDE but I (on win32 anyways)
chose TeraText Editor for its column editing abilities. (I usually write
on Win32, and then test and debug on linux to iron out differences)

As for the Synapse thing - I looked into it when I wrote my Web Server
and saw enough to say - NO WAY. I was actually able to get the sockets
working pretty quickly. Note - the download that helped me figure it out
was the nYume webserver.

Here is the link to the nYume Web Server's downloads. 


Note its not a great example of multithreading but its wicked concise -
small - even if some in Russian. This inspired me to use fpc sockets and
I wrote a wrapper to get the basic web server listen respond
functionality I needed I could use in a better multi-threaded scenario.

I recommend it. It compiles out the box in linux and in win32. If you
have trouble - I can get you the sources - and I can probably get my
wrapper to you within a day or two of you asking. I have to go to work
and code in vb.asp today YUCK. Oh well... got to pay the bills.

Good Luck my friend!

Jason P Sage

Best Regards,
         Jason P Sage


More information about the fpc-pascal mailing list