• федот (30.08.08 18:35) [120]
    var
    C: TMyClass<Integer>;
    begin
     TMyClass<Integer>.Create.Free;
    end;
  • федот (30.08.08 18:40) [121]
    Вообщем харе народ пугать, оба примера которые вы привели отлично раюотают )

    TMyClass = class
       FMyRec: TAdvRec;
     public
       property MyRec: TAdvRec read FMyRec;
    end;

    var
     C: TMyClass;

    procedure TForm7.FormCreate(Sender: TObject);
    begin
     C := TMyClass.Create;
     if C.MyRec.Prop then
       beep;
    end;

    { TAdvRec }

    function TAdvRec.GetProp: boolean;
    begin
     result := true;
    end;

    ЗЫ версия 12.0.3155.16733
  • jack128_ (30.08.08 19:27) [122]

    > C := TMyClass<Integer>.Create.Free;

    Блин,  лоханулся.. Глаз замылился, сорри.
  • jack128_ (30.08.08 19:29) [123]

    >   FMyRec: TAdvRec;
    >  public
    >    property MyRec: TAdvRec read FMyRec;

    доступ через метод, а не поле сделай.
  • федот (30.08.08 19:43) [124]
    Internal Error
  • oxffff © (30.08.08 19:50) [125]
    Я тут слегка на них наехал за их реализацию Generics.

    http://blogs.teamb.com/craigstuntz/2008/08/29/37832

    Мои 6 и 8 комментарий.
  • jack128_ (30.08.08 22:10) [126]

    > Я тут слегка на них наехал за их реализацию Generics.

    ну в асм я не лез, а чисто на практике - невозможность использовать опрераторы над дженериками - это аццтой..

    ПРидирка:
    нельзя написать так:

    var
     Func: reference to function: Integer;

    требуется описать тип
     TFunc = reference to function : Integer;
    var
     Func: TFunc;

    хотя например записи таким макаром нормально всегда описывались
  • Prohodil Mimo © (30.08.08 23:20) [127]
    Anatoly Podgoretsky ©   (29.08.08 19:21) [109]

    потому и сказал, что первая.
    а 8 именем Delphi назвать стыдно. Как такое вообще пропустили? Видать денег надо было срочно.

    speller   (29.08.08 20:35) [112]
    Редактор изначально русские буковки в cp1251 сохраняет, но если вставить какую абракадабру в исходник - предлагает сохранить в utf-8.

    Anatoly Podgoretsky ©   (29.08.08 23:31) [113]
    Таже чепуха и в 2006


    Поставте в регионе для неуникода кирилицу, и просить не будет в utf-8 сконвертировать.
  • boa_kaa © (30.08.08 23:23) [128]
    ммм-дааа... была у заюшки избушка лубяная, а у лисы ледяная...
  • KilkennyCat © (30.08.08 23:26) [129]

    > boa_kaa ©   (30.08.08 23:23) [128]

    а у подводного карлсона - термоядерный реактор!
  • boa_kaa © (30.08.08 23:30) [130]

    > KilkennyCat ©   (30.08.08 23:26) [129]

    поди, лиса, вон! :D
  • KilkennyCat © (30.08.08 23:33) [131]

    > boa_kaa ©   (30.08.08 23:30) [130]
    >
    >
    > > KilkennyCat ©   (30.08.08 23:26) [129]
    >
    > поди, лиса, вон! :D


    уже: квартиру ищу...
  • Anatoly Podgoretsky © (30.08.08 23:37) [132]
    > Prohodil Mimo  (30.08.2008 23:20:07)  [127]

    Кроме денег была и боязнь отстать от паровоза .NET
    Так я знаю, что не будет, но я просто введу пару букв, хотя бы в комментарии, а не буду локализацию менять.
    Так что эта особенно не новая, а существует с первых версий 200x и так не исправлено это, надо или все писать в UTF-8 или разрешить управлять этим в настройках.
  • Prohodil Mimo © (30.08.08 23:44) [133]
    Anatoly Podgoretsky ©   (30.08.08 23:37) [132]
    не буду локализацию менять

    отображение неуникода - не совсем локализация.

    надо или все писать в UTF-8 или разрешить управлять этим в настройках

    а зачем всё в UTF-8? появились нестандартные символы - в UTF-8, а если их нет, то и ASCII сойдёт. Хотя - дело вкуса, а мен лишние байты жалко :о)
  • Anatoly Podgoretsky © (31.08.08 00:17) [134]
    > Prohodil Mimo  (30.08.2008 23:44:13)  [133]

    Если бы было так, то проблем бы не было, а проблема в том, если эти не попадающие под локализацию символы появлялись потом, то запрос уже не делался и преобразование тоже. Не знаю, может этот глюк решили в Д2007/9 но в 2006 ухо надо было держать тоже. Кстати в VS тоже самое, не уследишь при сохранение, то можно и потерять и не сразу это заметишь. А у меня подозрение, что студия лицензирована у Микрософт.
  • speller (31.08.08 05:31) [135]
    Сохраняешь русские буквы в ascii, отдаешь исходник индусу, а у него локаль другая и прощайте нужные буковки. А если это не тексты, а какие служебные символы? Индус просто что-то исправил в коде, ничего более не трогал, и тебе вернулись квадратики или какая еще хрень вместо текста.
  • ggg (31.08.08 09:37) [136]
    А что теперь будут возвращать функции Ord и Chr?
    Как стоит переписать функции шифрования, которые используют посимвольные операции над байтами?
    Т.е. если сейчас написать шифрование xor на БДС 2007, в 2009 функция скомпилируется, но результат будет различен и дешифровать без конвертации в AnsiString не удастся?
  • speller (31.08.08 10:11) [137]

    > А что теперь будут возвращать функции Ord и Chr?

    Вот такой код

    var
     S: string;
    begin
     S := IntToStr(Ord('я'));
     S := S + ' ';
     S := S + IntToStr(Ord('פּ'));



    компилируется в

    // S := IntToStr(Ord('я'));
    lea edx,[ebp-$04]
    mov eax,$000000ff
    call IntToStr
    // S := S + ' ';
    lea eax,[ebp-$04]
    mov edx,$0046421c
    call @UStrCat
    // S := S + IntToStr(Ord('פּ'));
    lea edx,[ebp-$08]
    mov eax,$0000fb44
    call IntToStr
    mov edx,[ebp-$08]
    lea eax,[ebp-$04]
    call @UStrCat



    Русская буква осталась в ascii, а пробел пошел уже в юникоде... По-моему это глюк.
  • speller (31.08.08 10:24) [138]
    нет, пробел не в юникоде, загнал я
  • Anatoly Podgoretsky © (31.08.08 10:34) [139]
    > ggg  (31.08.2008 9:37:16)  [136]

    Все нормально, не волнуйся.
Есть новые Нет новых   [134444   +20][b:0.001][p:0.001]