|
@@ -0,0 +1,99 @@
|
|
|
+program tcpstr22;
|
|
|
+
|
|
|
+{$MODE DELPHI}
|
|
|
+
|
|
|
+type
|
|
|
+ cp1253string = type AnsiString(1253);
|
|
|
+
|
|
|
+// --- all string types ---
|
|
|
+procedure test_overload1(const s: AnsiString); overload;
|
|
|
+begin
|
|
|
+end;
|
|
|
+procedure test_overload1(const s: UTF8String); overload;
|
|
|
+begin
|
|
|
+ halt(1);
|
|
|
+end;
|
|
|
+procedure test_overload1(const s: cp1253string); overload;
|
|
|
+begin
|
|
|
+ halt(1);
|
|
|
+end;
|
|
|
+procedure test_overload1(const s: unicodestring); overload;
|
|
|
+begin
|
|
|
+ halt(1);
|
|
|
+end;
|
|
|
+procedure test_overload1(const s: widestring); overload;
|
|
|
+begin
|
|
|
+ halt(1);
|
|
|
+end;
|
|
|
+procedure test_overload1(const s: ShortString); overload;
|
|
|
+begin
|
|
|
+ halt(1);
|
|
|
+end;
|
|
|
+// --- no AnsiString ---
|
|
|
+procedure test_overload2(const s: UTF8String); overload;
|
|
|
+begin
|
|
|
+end;
|
|
|
+procedure test_overload2(const s: cp1253string); overload;
|
|
|
+begin
|
|
|
+ halt(2);
|
|
|
+end;
|
|
|
+procedure test_overload2(const s: unicodestring); overload;
|
|
|
+begin
|
|
|
+ halt(2);
|
|
|
+end;
|
|
|
+procedure test_overload2(const s: widestring); overload;
|
|
|
+begin
|
|
|
+ halt(2);
|
|
|
+end;
|
|
|
+procedure test_overload2(const s: ShortString); overload;
|
|
|
+begin
|
|
|
+ halt(2);
|
|
|
+end;
|
|
|
+// --- no AnsiString, UTF8String ---
|
|
|
+procedure test_overload3(const s: cp1253string); overload;
|
|
|
+begin
|
|
|
+end;
|
|
|
+procedure test_overload3(const s: unicodestring); overload;
|
|
|
+begin
|
|
|
+ halt(3);
|
|
|
+end;
|
|
|
+procedure test_overload3(const s: widestring); overload;
|
|
|
+begin
|
|
|
+ halt(3);
|
|
|
+end;
|
|
|
+procedure test_overload3(const s: ShortString); overload;
|
|
|
+begin
|
|
|
+ halt(3);
|
|
|
+end;
|
|
|
+// --- no AnsiString, UTF8String, AnsiString(codepage) ---
|
|
|
+procedure test_overload4(const s: unicodestring); overload;
|
|
|
+begin
|
|
|
+end;
|
|
|
+{ifndef FPC_WIDESTRING_EQUAL_UNICODESTRING}
|
|
|
+procedure test_overload4(const s: widestring); overload;
|
|
|
+begin
|
|
|
+ halt(4);
|
|
|
+end;
|
|
|
+{$endif}
|
|
|
+procedure test_overload4(const s: ShortString); overload;
|
|
|
+begin
|
|
|
+ halt(4);
|
|
|
+end;
|
|
|
+// --- no AnsiString, UTF8String, AnsiString(codepage), UnicodeString ---
|
|
|
+procedure test_overload5(const s: widestring); overload;
|
|
|
+begin
|
|
|
+end;
|
|
|
+procedure test_overload5(const s: ShortString); overload;
|
|
|
+begin
|
|
|
+ halt(5);
|
|
|
+end;
|
|
|
+
|
|
|
+var
|
|
|
+ A: AnsiString;
|
|
|
+begin
|
|
|
+ test_overload1(A);
|
|
|
+ test_overload2(A);
|
|
|
+ test_overload3(A);
|
|
|
+ test_overload4(A);
|
|
|
+ test_overload5(A);
|
|
|
+end.
|