Конференция "KOL" » Версия 2.86 [Delphi, Windows]
 
  • Barloggg (29.01.08 12:48) [20]
    и, кстати даты на сайте не обновлены. это я про KOLGIF KOLPNG.

    Перечитал внимательно новости. хм. KOLZLIB тоже обновлен. Хорошо, значит из моих слов актуально только про kol.pas
  • Jon © (30.01.08 02:37) [21]
    Bug found with ListView.

    ListView.OnMouse up does not respond to button up messages.
    Instead it responds to mouse double click messages.
    Here is a simple demonstration:

    program test;

    uses
     KOL;

    var
     Counter: Integer;

    procedure ListViewMouseUp(Dummy: Pointer; Sender: PControl; var Mouse: TMouseEventData);
    begin
     Applet.Caption := Int2Str(PControl(Sender).LVCurItem);
    end;

    begin
     Applet := NewForm(nil,'Test');
     with NewListView(Applet,lvsDetail,[lvoGridLines,lvoRowSelect],nil,nil,nil)^ do
     begin
       SetAlign(caClient);
       LVColAdd('Column 1',taCenter,200);
       LVColAdd('Column 2',taCenter,200);
       LVColAdd('Column 3',taCenter,200);
       OnMouseUp := TOnMouse(MakeMethod(nil,@ListViewMouseUp));
       Counter := 0;
       repeat
         LVItemAdd(Int2Str(Counter));
         Inc(Counter);
       until Counter = 100;
     end;
     Run(Applet);
    end.



    Tested in ASM and PAS version (D7 WinXP).
  • mdw © (30.01.08 18:13) [22]
    Заметил небольшой баг в MCK для меню с OwnerDraw := TRUE;
    свойство  OwnerDraw := TRUE; устанавливается только для меню верхнего уровня, а вот для подменю нет.
    Пока исправил так (жирным - то что добавил):

    procedure TKOLMenuItem.SetupAttributesLast(SL: TStringList; const MenuName: String);
    var I: Integer;
       MI: TKOLMenuItem;

    begin
     if FownerDraw then
       SL.Add( '    ' + MenuName + '.Items[ ' + IntToStr( ItemIndex ) +
               ' ].OwnerDraw := TRUE;' );

     for I := 0 to Count - 1 do
     begin
       MI := SubItems[ I ];
       MI.SetupAttributesLast( SL, MenuName );
     end;

    end;
  • Barloggg (04.02.08 15:00) [23]
    странно. при попытке распарсить пустую строку бабахает. очень странно. а дома работает.
  • shin (11.02.08 19:13) [24]
    Если обновлять от скаченного KOL&MCK-2.80 до 2.86, то на последнем апдейте kolmck285to286.upd не обновляется mckCtrls.pas, говорит об ошибке
  • =BuckLr= © (11.02.08 19:49) [25]
    У меня нормально обновилось с 2,85 на 2,86
  • Rocket © (24.02.08 20:55) [26]
    Баг: asm-версия IndexOfStr зацикливается если в S нет Sub. С паскаль-версией всё нормально, возвращает -1.
  • mdw © (21.03.08 12:46) [27]
    Что-то Владимир пропал.

    Вот еще баг нашел. Не понятно только, как вообще раньше работало, и долго уже....

    procedure TWStrList.SetText(const Value: WideString);
    ....
     L := (Length( Value ) + 1) * Sizeof( WideChar );
     GetMem( fText, L );
     System.Move( Value[ 1 ], fText^, L );

     fText[ L+1 ] := #0; // Вот здесь падает, что и не удивительно, т.к #0 заносится куда-то в двое дальше длины строки

     fTextBufSz := Length( Value );
    ....

    Предлагаю такое исправление:
    procedure TWStrList.SetText(const Value: WideString);
    ....
     fTextBufSz := Length( Value );
     L := (fTextBufSz + 1) * Sizeof( WideChar );
     GetMem( fText, L );
     System.Move( Value[ 1 ], fText^, L );
     fText[ fTextBufSz ] := #0;
    ....
  • Vladimir Kladov © (21.03.08 18:45) [28]
    Не пропал. Не дождётесь.

    Версия 2.87:

                 Новости от 21марта 2008 (KOL & MCK v2.87)

    [+]    Добавлены    функции    NextPowerOf2,   ToRadix,   FromRadiStr,
    InsertSeparators, Str2File.

    [*]  UNICODE_CTRLS:  обновлены  функции  IndexOfChar, IndexOfCharsMin,
    IndexOfStr (с использованием типа KOLString).

    [+]  Добавлены функции CrackStack_MapInResource и CrackStack_MapInFile
    (могут использоваться при отладке).

    [-] Исправлена функция NormalizeUnixText.

    [-]  Свойство  TStream.Size  исправлено  для  memory stream для случая
    присваивания значения 0 пустому потоку данных.

    [+] Исправлена функция TWStrList.SetText (by mdw).

  • MTsv DN (21.03.08 19:43) [29]
    > Не пропал. Не дождётесь.
    Гы...
  • MTsv DN (23.03.08 16:16) [30]
    Vladimir Kladov ©   (21.03.08 18:45) [28]
    >
    > Версия 2.87:

    Владимир, подключите UNICODE_CTRLS. У меня 8 ошибок сразу выпало...
  • MTsv DN (23.03.08 16:22) [31]
    1. function CrackStack_MapInResource( const MapName: String; Max_length: Integer; HandleSuspiciousAddresses: Boolean ): String;
    Строка:
     Resource2Stream( MapStrm, hInstance, PChar( MapName ), RT_RCDATA );
    2е ошибки: несоответствие типов Char и WideChar... Еще насколько я понимаю надо в функции, String на KOLString заменить...

    2. function ToRadix( number: Radix_Int; radix: Integer; min_digits: Integer ): KOLString;
    Ошибка: несовпадает объявление.

    3. function InsertSeparators( const s: KOLString; chars_between: Integer; Separator: KOLChar ): KOLString;
    Ошибка: несовпадает объявление.

    4. function IndexOfChar( const S : KOLString; Chr : KOLChar ) : Integer;
    Строка:
      F := StrScanLen( P, Chr, Length( S ) );
    Ошибка: несоответствие типов Char и WideChar...
  • MTsv DN (23.03.08 16:35) [32]
    Вообще функция IndexOfChar как то странно поддержку UNICODE осуществляет...
    function IndexOfChar( const S : KOLString; Chr : KOLChar ) : Integer;
    var P, F : PChar;
    begin
      P := PChar( S );
      {$IFDEF INPACKAGE}
      F := StrScan( P, Chr );
      {$ELSE}
      F := StrScanLen( P, Chr, Length( S ) );
      {$ENDIF}
      Result := -1;
      if (F = nil) or (S = '') then Exit;
      Result := Integer( F ) - Integer( P )
             {$IFDEF INPACKAGE} + 1 {$ENDIF};
      if {(Result > Length(S)) or} (S[ Result ] <> Chr) then
        Result := -1;
    end;


    Кроме объявления ничего и нет. В самом начале строка S - WideString приводится к PChar...да и потом Ansi-версия StrScanLen откуда-то взялась...
  • MTsv DN (24.03.08 07:35) [33]
    Еще один вопрос.

    А чем собственно результат IndexOfChar(S, Chr) отличается от Pos(Chr, S)? Или я чего-то недопонимаю?

    В любом случае, в 2.87 IndexOfChar не работает с UNICODE.
 
Конференция "KOL" » Версия 2.86 [Delphi, Windows]
Есть новые Нет новых   [134431   +15][b:0][p:0.002]