Конференция "KOL" » Версия 3.10 [Delphi]
 
  • Dy1 (26.03.11 18:47) [80]
    в пас версии вроде норм, глубоко не тестировал. В асме что-то не совсем так
  • Dy1 (27.03.11 19:27) [81]
    не действует символ компиляции {$DEFINE DATE0_1601}, {$DEFINE DATE0_0001} выкл.

    всегда считает с нулевого года.

    Включены:
    {$DEFINE TLIST_FAST}
    {$DEFINE NOT_USE_RICHEDIT}
    {$DEFINE DEBUG}
    {$DEFINE CRASH_DEBUG}
    {$DEFINE DEBUG_GDIOBJECTS}
    {$DEFINE CHK_BITBLT}
    {$DEFINE DEBUG_OBJKIND}
    {$DEFINE NO_DEFAULT_BUTTON_BOLD}
    {$DEFINE TIMER_APPLETWND}
    {$DEFINE STOPTIMER_AFTER_APPLETTERMINATED}
    {$DEFINE STOP_WNDPROCTRANSPARENT_AFTER_APPLETTERMINATED}
    {$DEFINE KEY_PREVIEW}
    {$DEFINE ESC_CLOSE_DIALOGS}
    {$DEFINE ALL_BUTTONS_RESPOND_TO_ENTER}
    {$DEFINE CLICK_DEFAULT_CANCEL_BTN_DIRECTLY}
    {$DEFINE DEFAULT_CANCEL_BTN_EXCLUSIVE}
  • Vladimir Kladov © (28.03.11 15:51) [82]
    Оно так и должно считать. 1601 для того, чтобы использовать более короткий код и функции API для превода из DateTime в SystemTime и наоборот, но они работают корректно только с 1 января 1601 года.
  • Dy1 (03.04.11 18:46) [83]
    Вин7, Делфи 2009, KOL 3.1415926535897  с МСК, опции и свойства ансишные.

    1) AV на строчке в проекте:   Memo1.Text := lst.Text;
    Если добавлять по строкам, то работает.

    2) Не работают методы PStrList-а  LoadFromFile и SaveFromFile, вылетов нет.
  • Dy1 (03.04.11 18:50) [84]
    "по строкам" т.е. через Add
  • Vladimir Kladov © (03.04.11 21:10) [85]
    Какие такие ансишные, в 2009? Там только unicode_ctrls, другое работать не будет.
  • Dy1 (03.04.11 23:00) [86]
    err.pas, строка 552
    {$IFDEF UNICODE_CTRLS} WStrCopy {$ELSE} StrCopy {$ENDIF}( Fmt, SException );
    не может самостоятельно выбрать функцию, ругается.
    Пробовал прописывать {$DEFINE UNICODE_CTRLS} в dpr, не помогает. Работает только если указать в самом err.

    Чем отличается NewStrList от NewKOLStrList ? Т.е. зачем так было сделано?
  • Vladimir Kladov © (04.04.11 15:34) [87]
    Вообще, символы компиляции в старых Delphi (до D7) прописывались в свойствах проекта. Думаю, в новых так же, просто интерфейс а-ля Visual C++/C#/... Посмотрите где там символы прописываются.

    KOLStrList следует использовать в проекте, если он может компилироваться и с unicode_ctrls и без, и в зависимости от опции работает как StrList или WStrList. StrList бывает нужен в unicode-проекте для работы с ansi-строками, WStrList - в ansi-программе, наоборот с unicode-строками. Если в строках есть #0 как символы, оба они бесполезны.
  • Dy1 (04.04.11 19:12) [88]
    1) там у меня KOL_MCK;EXTERNAL_DEFINES
    спасибо
  • Vladimir Kladov © (09.04.11 06:14) [89]
    External_defines.inc вставляются и должны восприниматься в самом KOL.pas, в KOL_add.pas и вроде бы всё. Т.е. UNICODE_CTRLS все-таки надо в свойствах проекта. Есть некоторое количество дополнительных компонент, которые понимают UNICODE_CTRLS, но EXTERNAL_DEFINES только сам KOL и KOLadd.
  • Dy1 (09.04.11 17:12) [90]
    ну так ведь запись в dpr на модули проекта тоже не действует
  • Vladimir Kladov © (10.04.11 07:50) [91]
    Запись чего-либо ({$DEFINE }) в файл dpr действует только на сам dpr, так же и запись в pas-файл - только на сам этот pas-файл, так всегда было. Исключения касаются общих директив типа {$APPTYPE }, но и не факт, что их надо именно в dpr-файл помещать, это тоже без разницы - можно в любом pas-файле проекта.
  • Thaddy © (27.04.11 09:19) [92]
    Vladimir,

    Is there a good reason why you disabled field TControl.fCollectUpdRgn in Kol.pas ?
    It is needed for current  KolHiLightEdit. Can you re-enable it? (I did already in my copy) I am using hilightedit in my KolIde project.  If I rewrite the code to use only Tcontrol.fUpdRgn it becomes slow.
  • Vladimir Kladov © (28.04.11 18:37) [93]
    But it was not used actually (2.94++) and occured only in disabled asm-version of WndProcPaint. It is better to remove it from KOLHilightEdit, supposing it is always = 0.
  • Thaddy © (29.04.11 11:21) [94]
    Ok.
  • Dufa © (03.05.11 12:24) [95]
    Такой вот момент всплыл...


    function TStrList.IndexOfName_NoCase(AName: Ansistring): Integer;
    ...
    /// WTF?? Dufa            while (p^ <> #0) and (p^ <= ' ') do inc( p );
    ...



    вот зачем нужна эта строка?
  • Thaddy © (04.05.11 08:54) [96]
    If you mean the next line references a fNameDelimiter and this line effectively means you can not use a space or tab as a name delimiter, you are correct.
    Otherwise this is an optimized - basically standard - way to skip non-printable characters in AsciiZ strings.
  • Dufa © (05.05.11 18:24) [97]
    Зачем нужна такая оптимизация? Это скорее не оптимизация, а фишка для пропуска пробелов и не печатных символов.. Но я не считаю, что она нужна. ПЛЮС в IndexOfName - этой фишки уже нету!
  • QAZ (24.05.11 14:23) [98]
    не знаю как сейчас, но в старой версии
    при щелчке правой мыши(и только ей) по хидеру лисвиева в режиме таблицы срабатывает onclick хотя по логике для него есть oncolumnclick
  • Jon © (24.05.11 15:18) [99]
    I found that there is a problem with RightClick when using a ListView.
    This program will demonstrate the error (KOL v3.14159265358979):


    program Test;

    uses KOL;

    procedure ColumnClick(Dummy: Pointer; Sender: PControl; Idx: Integer);
    begin
     if Sender.RightClick then
       MsgOK(Sender.LVColText[Idx]);
    end;

    begin
     Applet := NewForm(nil, 'Test');
     with NewListView(Applet, lvsDetail, [], nil, nil, nil)^ do
     begin
       LVColAdd('Col1', taLeft, 80);
       LVColAdd('Col2', taLeft, 80);
       LVColAdd('Col3', taLeft, 80);
       OnColumnClick := TOnLVColumnClick(MakeMethod(nil, @ColumnClick));
     end;
     Run(Applet);
    end.

 
Конференция "KOL" » Версия 3.10 [Delphi]
Есть новые Нет новых   [134430   +2][b:0.001][p:0.001]