Am 12.10.2011 16:46, schrieb Michael Schnell:
On 10/12/2011 04:23 PM, Sven Barth wrote:
There was some discussion about how to handle var parameters, but I
don't remember the outcome anymore. AFAIK Delphi issues a compile
error (I don't know for sure though).
Options are:
- compiler error
- compiler warning
- runtime exception
- conversion to and fro
- just passing the pointer (making creating an intersexual string easy)
We will see :)
So... now you got me to start my Delphi XE and I then noticed that I had
already written a small test project to test this ^^
Here is the code:
=== source begin ===
program strvartest;
{$APPTYPE CONSOLE}
uses
SysUtils;
type
CyrillicString = type AnsiString(1251);
LatinString = type AnsiString(1252);
TestString = type AnsiString(65001);
procedure Test(var aStr: CyrillicString);
begin
end;
var
s: LatinString;
begin
s := 'Foo';
Test(s);
end.
=== source end ===
Result:
[DCC Fehler] strvartest.dpr(22): E2033 Die Typen der tatsächlichen und
formalen Var-Parameter müssen übereinstimmen
For those that don't speak German (so shouldn't be you, Michael) a free
translation:
[DCC Error] strvartest.dpr(22): E2033 The types of the actual and formal
var-paramaters have to match
So at least Delphi uses the compiletime error approach. So it should be
likely that FPC follows that approach.
Regards,
Sven
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel