-
Но так делать нельзя, к сожалению.
-
> У меня почему-то не помечено, кто просил.
Вот тут http://pda.delphimaster.net/?id=1222611039&n=10 в 15м посте я указал на две утечки памяти. В версии 2.89 первая (TempOleStr) вообще не подписана, а вторая подписана D[u]fa. Владимир, ну как же так? :) :)
-
Vladimir Kladov а разве на некки.ру еще что-то есть? До того адреса, что я давал есть коннект?
-
Насчет StrComp не понял.. почему нельзя?
vampir_infernal , эмм.. не понял.. утечка устранена?
-
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 пока молчит. До того адреса не достукивается, черепашка открывает окошко, долго висит, потом выдает то сообщение.
-
VK А вот этот адрес https://kolmck.svn.sourceforge.net/svnroot/kolmck ? Если опять нет, могу предложить другой, простенький (местами топорный, зато портабл) свн клиент.
А вот RemoveSubMenu вроде было обсуждение раньше... или путаю уже просто
-
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]faRemoveSubMenu обсуждали в версии 2.88, после чего в 2.89 исправили уменьшение свойства Count, но фастмм4 убежденно видит в добавленной строчке утечку.
-
> Теперь не поймем, что там с RemoveSubMenu творится, mdw > пока молчит.
А что я должен сказать? Я про RemoveSubMenu вообще не в курсе... Может и есть там утечка, а может нет, мне как-то фиолетово, не так часто и не в таких количествах меню удаляется, чтоб уж так переживать из за нескольких байт.Если кого то это раздражает, пусть исправит, я всеми руками за! :)
-
mdw Метод RemoveSubMenu вызывается при уничтожении объекта PMenu, так что если у Вас в программе используются главное и/или контекстное меню, пусть и статические, то утечку Вы получите
-
> mdwМетод RemoveSubMenu вызывается при уничтожении объекта > PMenu, так что если у Вас в программе используются главное > и/или контекстное меню, пусть и статические, то утечку Вы > получите
> Может и есть там утечка, а может нет, мне как-то фиолетово, > не так часто и не в таких количествах меню удаляется, чтоб > уж так переживать из за нескольких байт.Если кого то это > раздражает, пусть исправит, я всеми руками за! :)
-
ошибка function FileSeek(Handle: THandle; {$IFNDEF STREAM_COMPAT} const {$ENDIF} MoveTo: TStrmSize; MoveMethod: TMoveMethod): TStrmSize; должно быть MoveTo:TStrmMove тк может быть отрицательным также видимо не внесено исправление когда на тулбар ложица тракбар или любой комон контрол -вылетает нафиг,исправление было ранее на форуме http://pda.delphimaster.net/?id=1245664606&n=10
-
также для коректной работы скролбара нужно
в 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 не показывает реального размера прокручиваемых данных
-
По FileSeek согласен. Второе - сделано: if (Child <> nil)
and (Child <> Self_) Положил ListView - не вылетает. По скроллбару объсните, что не показывает, или пример приведите. Я поставил SBPageSize 20 - размер 20%, поставил 30 - 30% (SBMax=100 как по умолчанию).
-
При изменении темы уже падать перестало? Я помню, что ответ был вида: событие редкое если надо делайте сами. Но все-же, что выбираем стабильность или экономию в несколько байт? PS От чего стандартного еще может падать?
-
> //+ by Galkov, Jun-2009
ну вобщем както еще есть ASM версия,которая не исправлена... и используеца по умолчанию > По скроллбару объсните, что не показывает, или пример приведите http://narod.ru/disk/19441012000/kosyak.jpg.html--------------------------------------------------- а это что за хрень стала генерица ? {$IF Defined(KOL_MCK)} вместо {$IFDEF KOL_MCK} моя дельфя7 этого не понимает
unit Unit1;
interface
uses Windows, Messages, KOL , mirror, Classes, mckCCtrls, Controls, mckCtrls ;
mirror,
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
+еще тудаже когда мск не находит путь к модулям она выдает дибильный диалог типа "выбери папку" соответствено нужно сделать (добавить флаг) чтоб там был едит для ручной вставки пути, тк за****ся выбирать их вручную в дереве либо пусть автоматом определяет по пути к dpr
-
QAZ, {$IF Defined(KOL_MCK)} уже больше года...
> моя дельфя7 этого не понимает
кривая делфи
-
> кривая делфи
да нет кривой мск,тк сделали генерацию без учета открытия "старых" исходников которые выглядят вот так
unit Unit1;
interface
uses Windows, Messages, KOL , mirror, Classes, mckCCtrls, Controls, mckCtrls ;
mirror,
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
соответствено какого хрена после {$IF Defined(KOL_MCK)} пишется {$ELSE} ? изза которого собсна и еррор при компиле
-
Ну а если подумать? =)
{$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};
-
При изменении темы уже падать перестало? Я помню, что ответ был вида: событие редкое если надо делайте сами. Но все-же, что выбираем стабильность или экономию в несколько байт? У вас есть фикс? Я например, темами не балуюсь. Кроме крайней необходимости что-то под темы отладить, вырубаю до запрета службы themes. Рюшеки с тормозами - юзерам, мне не надо.
да нет кривой мск,тк сделали генерацию без учета открытия "старых" исходников Как критиковать так все сразу и умные и пряморукие. Проект открывает не MCK, его открывает и корёжит в момент открытия - Delphi. MCK Всего лишь работает с тем, что ему досталось после такого кривого открытия. Если у вас есть идея (в виде готового кода), как сделать так, чтобы кривизны не было - мы тут со всеми распростертыми.
-
> Ну а если подумать? =) > в переводе на русский
я в курсе что это за директивы и как они работают
а вот нафига было вообще менять {$IFNDEF KOL_MCK}.... {$ENDIF} на {$IF Defined(KOL_MCK)}{$ELSE}....{$IFEND} что в переводе на русский "шило на мыло", можеш просвятить
|