Yury Sidorov schrieb:
From: "Florian Klaempfl" <[EMAIL PROTECTED]>
Michael Van Canneyt schrieb:
On Thu, 18 Sep 2008, Graeme Geldenhuys wrote:
Hi,
I was following a discussion in the delphi.non-technical newsgroup.
They raised an issue about distinct types. I tried the following
example under FPC and unexpectedly, FPC doesn't raise any errors!
If you declare a distinct type as follows:
type TMyInteger = type Integer;
The type TMyInteger <> Integer so you are not supposed to be allowed
to assign one to the other. Yet you can. See the following program.
But obviously delphi also allows it ? It compiles everything,
just not as a var parameter.
The whole 'Type' thing is a bit ridiculous: the only reason they did it
is so they can have different type pointers in the RTTI for something
which
is the same 'type' anyway. For the rest it is extremely badly
designed, and not really consistent. It serves no purpose. FPC
introduced it to be able to compile Delphi code, no other reason.
This is not true. The main purpose is to be able to overload
functions/operators:
type
TUTF8String = type ansistring;
enables you to overload all procedure already defined for ansistrings
with UTF8String functions but reusing ansistring support functionality
and this is supported for years. Because nobody used this yet to make
an utf-8 unit, I never took the unicode string support serious :)
Yes. But it works only partially. For example the following code is not
compilable:
Well, I wouldn't know either what you expect :)
//------
type
TUTF8String = type ansistring;
procedure DoTest(const s: ansistring); overload;
begin
end;
procedure DoTest(const s: TUTF8String); overload;
begin
end;
begin
DoTest('1234');
end.
//------
Yury Sidorov. _______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel