Re: [fpc-pascal] basic question on begin, end;

2020-09-24 Thread Jean SUZINEAU via fpc-pascal

Personnally I go even further ;-)

if something
then
begin
some multi-line code here
end
else
begin
some multi-line code here
end;

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] stdcall without the ;

2020-09-24 Thread Santiago A. via fpc-pascal

El 23/09/2020 a las 19:45, Luca Olivetti via fpc-pascal escribió:

El 23/9/20 a les 17:38, Santiago A. via fpc-pascal ha escrit:

El 23/09/2020 a las 13:54, Luca Olivetti via fpc-pascal escribió:

Hello,

I just compiled a lazarus project made in 2105 with fpc 3.2.0 and, 
while it works here, it fails when the customer runs it.


What does "it fails" mean?
Any error message? Sigfault?



I'm not at the customer's site, but he told me that it does nothing, 
it shows nothing and it's not visible in the task manager.
What's worse, I have an application exception handler that logs the 
first unmanaged exception to a file and the halts the program, well, 
the customer says the file doesn't exist, so I presume there's no 
unmanaged exception or the application doesn't even reach the handler.


Bye

Little information ;-)

You could try a few things to get more data about what is the point 
where the program breaks:


 * Add some log  information (write to a log file, not through
   exception) in the lpr file before it starts the application run.
 * Add to the main form in the create constructor and in the formcreate
   event some log information.

If the programs doesn't starts at all, then probable you have any 
problem at binary level. That is usually hard the find. You could ask 
the customer to run it from cmd prompt. Sometimes it displays some 
informative message.


Once I had the problem that 32bits worked fine in my PC, but failed in 
customer's system. The problem was that I was using firebird but the 
customer had installed 64bits version, so the client library 
fbclient.dll was 64bits and exe 32bits. I copied a 32bits fbclient.dll 
to the exe directory and everything worked fine.


--
Saludos

Santiago A.

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] basic question on begin, end;

2020-09-24 Thread Bo Berglund via fpc-pascal
On Wed, 23 Sep 2020 08:28:20 -0700, Ralf Quint via fpc-pascal
 wrote:

>Similar like moving code blocks around in 
>Python with a one-off indentation and all the sudden the flow of that 
>code changes, without complaining...

This use of whitespace as block delimiter is why I never could cope
with Python when I was working (now retired).

Begin-end are really big helpers to correctly structure loops etc and
I use them all the time to make things clearer.

Also putting begin right below if, for, while etc makes it much easier
in Lazarus to see what happens in multi-level code when one is
selecting begin or end since they match vertically.
So I never do:

if something then begin
  some multi-line code here
end;

Instead:

if something then
begin
  some multi-line code here
end;

And of course as has already been pointed out the original question's
example code fundamentally changes execution with or without the
begin-end pair!


-- 
Bo Berglund
Developer in Sweden

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal


Re: [fpc-pascal] stdcall without the ;

2020-09-24 Thread Luca Olivetti via fpc-pascal

El 23/9/20 a les 19:45, Luca Olivetti via fpc-pascal ha escrit:

El 23/9/20 a les 17:38, Santiago A. via fpc-pascal ha escrit:

El 23/09/2020 a las 13:54, Luca Olivetti via fpc-pascal escribió:

Hello,

I just compiled a lazarus project made in 2105 with fpc 3.2.0 and, 
while it works here, it fails when the customer runs it.


What does "it fails" mean?
Any error message? Sigfault?



I'm not at the customer's site, but he told me that it does nothing, it 
shows nothing and it's not visible in the task manager.
What's worse, I have an application exception handler that logs the 
first unmanaged exception to a file and the halts the program, well, the 
customer says the file doesn't exist, so I presume there's no unmanaged 
exception or the application doesn't even reach the handler.


It turns out everything's fine: I resent the exe, the previous one must 
have been corrupted in transit.


Bye
--
Luca

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-pascal