Конференция "KOL" » Версия 2.90 [Delphi, Windows]
 
  • Vladimir Kladov © (29.03.10 21:46) [20]
    Но так делать нельзя, к сожалению.
  • vampir_infernal (29.03.10 23:46) [21]

    > У меня почему-то не помечено, кто просил.

    Вот тут http://pda.delphimaster.net/?id=1222611039&n=10 в 15м посте я указал на две утечки памяти. В версии 2.89 первая (TempOleStr) вообще не подписана, а вторая подписана D[u]fa. Владимир, ну как же так? :) :)
  • Dufa © (30.03.10 17:20) [22]
    Vladimir Kladov а разве на некки.ру еще что-то есть? До того адреса, что я давал есть коннект?
  • Dufa © (30.03.10 17:23) [23]
    Насчет StrComp не понял.. почему нельзя?

    vampir_infernal , эмм.. не понял.. утечка устранена?
  • Vladimir Kladov © (30.03.10 17:35) [24]
    D[u]fa Насчет StrComp нельзя потому что в случае равных строк сравнение продолжится за пределы строки, пока не будет найдена пара неравных символов, в итоге равенства не будет никогда. Не говоря уже о том, что за границу строки вылазить некрасиво.

    vampir_infernal Вот тут http://pda.delphimaster.net/?id=1222611039&n=10 в 15м Я извиняюсь. Скорее всего, я прочитал не первое сообщение, а перепост от D[u]fa. А что же вы так поздно спохватились - 1.5 года прошло?

    2 D[u]fa Та утечка (или 2) вроде исправлена. Теперь не поймем, что там с RemoveSubMenu творится, mdw пока молчит. До того адреса не достукивается, черепашка открывает окошко, долго висит, потом выдает то сообщение.
  • Dufa © (30.03.10 18:29) [25]
    VK А вот этот адрес https://kolmck.svn.sourceforge.net/svnroot/kolmck ?
    Если опять нет, могу предложить другой, простенький (местами топорный, зато портабл) свн клиент.

    А вот RemoveSubMenu вроде было обсуждение раньше... или путаю уже просто
  • vampir_infernal (30.03.10 19:26) [26]
    1.5 года прошло
    Дык 2 года обновления не было, да и в армию ходил

    VK
    Еще порция. Если в проекте установить NEW_MODAL и PAS_VERSION, то KOL.PAS не компилируется, функция
    function WndProcForm(Self_: PControl; var Msg: TMsg; var Rslt: Integer ): Boolean;

    . Все строки со ссылками на поля объекта Self_ (как я понял) там описаны без указания самого объекта, то бишь просто
    if fModalForm <> nil then

    . Поскольку више по коду with нигде нет, получается, нужно дописать Self_ к каждому, или же объявить with Self_^ do begin. Пока у себя исправил так, со строки 36751:
         if Self_.fModalForm <> nil then
           SetFocus( Self_.fModalForm.fHandle )
         else if ( Self_.FCurrentControl <> nil ) and
                 not ( Self_.fCurrentControl.IsForm xor Self_.fIsApplet ) then



    D[u]fa
    RemoveSubMenu обсуждали в версии 2.88, после чего в 2.89 исправили уменьшение свойства Count, но фастмм4 убежденно видит в добавленной строчке утечку.
  • mdw (30.03.10 19:53) [27]

    >  Теперь не поймем, что там с RemoveSubMenu творится, mdw
    > пока молчит.

    А что я должен сказать? Я про RemoveSubMenu вообще не в курсе... Может и есть там утечка, а может нет, мне как-то фиолетово, не так часто и не в таких количествах меню удаляется, чтоб уж так переживать из за нескольких байт.Если кого то это раздражает, пусть исправит, я всеми руками за! :)
  • vampir_infernal (31.03.10 11:25) [28]
    mdw
    Метод RemoveSubMenu вызывается при уничтожении объекта PMenu, так что если у Вас в программе используются главное и/или контекстное меню, пусть и статические, то утечку Вы получите
  • mdw (31.03.10 11:33) [29]

    > mdwМетод RemoveSubMenu вызывается при уничтожении объекта
    > PMenu, так что если у Вас в программе используются главное
    > и/или контекстное меню, пусть и статические, то утечку Вы
    > получите


    > Может и есть там утечка, а может нет, мне как-то фиолетово,
    >  не так часто и не в таких количествах меню удаляется, чтоб
    > уж так переживать из за нескольких байт.
    Если кого то это
    > раздражает, пусть исправит, я всеми руками за! :)
  • QAZ (04.04.10 20:11) [30]
    ошибка
    function FileSeek(Handle: THandle; {$IFNDEF STREAM_COMPAT} const {$ENDIF} MoveTo: TStrmSize; MoveMethod: TMoveMethod): TStrmSize;

    должно быть MoveTo:TStrmMove тк может быть отрицательным

    также видимо не внесено исправление когда на тулбар ложица тракбар или любой комон контрол -вылетает нафиг,исправление было ранее на форуме
    http://pda.delphimaster.net/?id=1245664606&n=10
  • QAZ (04.04.10 20:25) [31]
    также для коректной работы  скролбара нужно

    в procedure TControl.SetSBPageSize(Value: Integer);
    SI.nMax := SI.nMax - Integer(SI.nPage) + Value;
    заменить на SI.nMax := SI.nMax;

    в procedure TControl.SetSBMinMax(const Value: TPoint);
    SetScrollRange(Handle, SB_CTL, Value.X, Value.Y + SBPageSize - 1, True)
    заменить на SetScrollRange(Handle, SB_CTL, Value.X, Value.Y - 1, True)

    иначе PageSize не показывает реального размера прокручиваемых данных
  • Vladimir Kladov © (05.04.10 20:54) [32]
    По FileSeek согласен.

    Второе - сделано:
    if (Child <> nil)
          and (Child <> Self_) //+ by Galkov, Jun-2009


    Положил ListView - не вылетает.

    По скроллбару объсните, что не показывает, или пример приведите. Я поставил SBPageSize 20 - размер 20%, поставил 30 - 30% (SBMax=100 как по умолчанию).
  • Mr (06.04.10 09:21) [33]
    При изменении темы уже падать перестало? Я помню, что ответ был вида: событие редкое если надо делайте сами. Но все-же, что выбираем стабильность или экономию в несколько байт?
    PS
    От чего стандартного еще может падать?
  • QAZ (06.04.10 12:07) [34]

    > //+ by Galkov, Jun-2009

    ну вобщем както еще есть ASM версия,которая не исправлена... и используеца по умолчанию

    > По скроллбару объсните, что не показывает, или пример приведите

    http://narod.ru/disk/19441012000/kosyak.jpg.html
    ---------------------------------------------------
    а это что за хрень стала генерица ?
    {$IF Defined(KOL_MCK)} вместо {$IFDEF KOL_MCK} моя дельфя7 этого не понимает


    { KOL MCK } // Do not remove this line!
    {$DEFINE KOL_MCK}
    unit Unit1;

    interface

    {$IFDEF KOL_MCK}
    uses Windows, Messages, KOL {$IF Defined(KOL_MCK)}{$ELSE}, mirror, Classes,  mckCCtrls, Controls, mckCtrls {$ENDIF};
    {$ELSE}
    {$I uses.inc} mirror,
     Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
    {$ENDIF}



    +еще тудаже когда мск не находит путь к модулям она выдает дибильный диалог типа "выбери папку"
    соответствено нужно сделать (добавить флаг) чтоб там был едит для ручной вставки пути, тк за****ся выбирать их вручную в дереве
    либо пусть автоматом определяет по пути к dpr
  • Dufa © (06.04.10 15:52) [35]
    QAZ, {$IF Defined(KOL_MCK)} уже больше года...


    > моя дельфя7 этого не понимает


    кривая делфи
  • QAZ (06.04.10 16:07) [36]

    > кривая делфи

    да нет кривой мск,тк сделали генерацию без учета открытия "старых" исходников
    которые выглядят вот так

    { KOL MCK } // Do not remove this line!
    {$DEFINE KOL_MCK}
    unit Unit1;

    interface

    {$IFDEF KOL_MCK}
    uses Windows, Messages, KOL {$IFNDEF KOL_MCK}, mirror, Classes,  mckCCtrls, Controls, mckCtrls {$ENDIF};
    {$ELSE}
    {$I uses.inc} mirror,
     Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
    {$ENDIF}



    соответствено какого хрена после {$IF Defined(KOL_MCK)} пишется {$ELSE} ?
    изза которого собсна и еррор при компиле
  • Dufa © (06.04.10 16:20) [37]
    Ну а если подумать? =)

    {$IFNDEF KOL_MCK}, mirror, Classes,  mckCCtrls, Controls, mckCtrls {$ENDIF};

    в переводе на русский, если НЕ кол то mirror, Classes,  mckCCtrls, Controls, mckCtrls

    {$IF Defined(KOL_MCK)}{$ELSE}, mirror, Classes,  mckCCtrls, Controls, mckCtrls

    в переводе на русский если КОЛ то ..., а если нет то mirror, Classes,  mckCCtrls, Controls, mckCtrls.

    Если ошибка реально в этом то - делфи кривая, ибо на 7 все проверено и работает. Другое дело что при переходе код может криво сгенерица.


    >
    > {$IF Defined(KOL_MCK)}{$ELSE}, mirror, Classes,  mckCCtrls,
    >  Controls, mckCtrls {$ENDIF};

    замени на
    {$IF Defined(KOL_MCK)}{$ELSE}, mirror, Classes,  mckCCtrls, Controls, mckCtrls {$IFEND};
  • Vladimir Kladov © (06.04.10 16:48) [38]
    При изменении темы уже падать перестало? Я помню, что ответ был вида: событие редкое если надо делайте сами. Но все-же, что выбираем стабильность или
    экономию в несколько байт?
    У вас есть фикс? Я например, темами не балуюсь. Кроме крайней необходимости что-то под темы отладить, вырубаю до запрета службы themes. Рюшеки с тормозами - юзерам, мне не надо.

    да нет кривой мск,тк сделали генерацию без учета открытия "старых" исходников
    Как критиковать так все сразу и умные и пряморукие. Проект открывает не MCK, его открывает и корёжит в момент открытия - Delphi. MCK Всего лишь работает с тем, что ему досталось после такого кривого открытия. Если у вас есть идея (в виде готового кода), как сделать так, чтобы кривизны не было - мы тут со всеми распростертыми.
  • QAZ (06.04.10 17:50) [39]

    > Ну а если подумать? =)
    > в переводе на русский

    я в курсе что это за директивы и как они работают

    а вот нафига было вообще менять {$IFNDEF KOL_MCK}.... {$ENDIF}
    на {$IF Defined(KOL_MCK)}{$ELSE}....{$IFEND}
    что в переводе на русский "шило на мыло", можеш просвятить
 
Конференция "KOL" » Версия 2.90 [Delphi, Windows]
Есть новые Нет новых   [118427   +58][b:0][p:0.002]