Re: [fpc-pascal] Strange syntax in raising exceptions

2009-07-16 Thread Graeme Geldenhuys

Paul Ishenin wrote:
will be useless. Who wants to know that it was raised in Warn function? 
Better to assign a caller address to that exception. For this we have 
'at' keyword.


Thanks Paul! Your explanation makes perfect sense. Amazingly enough, I 
have been using exceptions for many years, and never knew about the 'at' 
keyword for them. So we learn. :)


PS:
I can also confirm that the 'at address' is documented in the Kylix 3 
Help and the FPC Reference Guide.



Regards,
  - Graeme -

--
fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal
http://opensoft.homeip.net/fpgui/

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal


[fpc-pascal] Strange syntax in raising exceptions

2009-07-15 Thread Graeme Geldenhuys

Hi,

While porting DUnit2 to Free Pascal I came across the following code. I have 
never seen syntax like that, yet it is accepted by FPC and Delphi compilers.

Is this documented in FPC docs? What does the '... at 
some_function_returning_a_pointer' do?

Unfortunately I don't have any docs (fpc, delphi or kylix) available here on my 
home pc, but I'll try and look for tips tomorrow at work. In somebody else 
could give some insight it would be much appreciated.

===
procedure TTestProc.Warn(const ErrorMsg: string; const ErrorAddress: Pointer);
begin
 if ErrorAddress = nil then
   raise EPostTestFailure.Create(ErrorMsg) at CallerAddr
 else
   raise EPostTestFailure.Create(ErrorMsg) at ErrorAddress;
end;

===


Regards,
- Graeme -


fpGUI - a cross-platform Free Pascal GUI toolkit
http://opensoft.homeip.net/fpgui/

___
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal