On Sat, 28 Apr 2012 01:24:03 +0200
Giuliano Colla <[email protected]> wrote:

>[...]
> I boldly start a new Application, begin to populate my window with 
> required gadgets, write the thread code, push F9, and my Application 
> crashes. 

Here I get an exception:
 Semaphore init failed (possibly too many concurrent threads)

Maybe this error message should be extended under unix with '... or you
forgot to use the cthreads unit'


> Then I revise my code, looking for all obvious errors, and 
> after a painful search, I discover that I had either forgot to add 
> -dUseCThreads to program options, or , even worse, that I had simply 
> misspelled it.

The -dUseCThreads is for multithreaded packages.

A program can simply remove the {$IFDEF UseCThreads} in the lpr:

  {$IFDEF UNIX}
  cthreads,
  {$ENDIF}

 
>  From the posts I see from time to time in this list, it appears that 
> I'm not the only one to suffer this sort of problem.
> 
> Now I know that it's been debated if multithreading should be enabled by 
> default in Unix environment, and the conclusion has been that it should 
> not. I can't say that I found the arguments against multithreading very 
> convincing, but I don't want to reopen a closed discussion.
> 
> What I ask is: would it be so hard to provide the choice in the "New" 
> dialog? Something like Single Thread Application and Multi Thread 
> Application? The choice could be either hidden or flash an error for the 
> platforms where multithreading is not supported, would be a no-op for 
> Windows, but would make life easier to the rest of us.
> I could provide a patch if pointed to the right area of code to deal 
> with. IDE things remain a big mystery to me.

AFAIK the real pain is to find the cause of the strange/misleading
error messages. The remedy itself is pretty simple (a flag or a tiny
code change).

A new project type is only added if it changes several things not
one flag or one tiny change.

A project has many flags and programmers have different opinions
what flags should be asked on creation.
Maybe some common options can be shown in the "New dialog".


Mattias

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to