Feg16

Forum Replies Created

Viewing 20 posts - 101 through 120 (of 271 total)
  • Author
    Posts
  • Feg16
    Participant
    'Support' wrote:

    Спасибо

    Это действительно странно, но такое же поведение и без всяких скинов наблюдается в Вашем примере.

    При выключенных скинах можно заходить в Frozencols и появляется окно редактирования, разве что значение при этом не меняется. Попробуйте.

    Попытаюсь узнать – почему так.

    PS. А может так и должно быть в GridEH? Это не нормальное его поведение?

    Это нормальное поведение. фрозен – от слова замораживать. Столбец всегда будет на одном месте. Запрещать редактирование надо у него в свойствах

    Feg16
    Participant
    'Mr.Dmitry' wrote:

    Поставил AlphaSkins из папки D2010 на Delphi Embarcadero RAD STUDIO 2010. Теперь при компиляции любого проекта с AlphaControls ругается на файл sStrings.dcu. Если данная версия Delphi не подходит, то подскажите на какую версию лучше ставить?

    Советую не ставить вообще, до выхода следующей стабильной версии, иначе нахватаешся

    in reply to: AC 7.31 баг acBUtils.pas #44956
    Feg16
    Participant

    В результате долгих экспериментов демка все таки детектед. Основываясь на фактах, утверждаю что проблема возникает при отправке сообщения скроллбарам SynEdit, если в проекте участвует Eurekalog.

    В аттаче демка и видео пример реализации. Так-же что на меня находит мысль что вы не верите в мои сообщения, поэтому архив с демкой заблокирован и имеет мд5 хеш, который можете проверить, не сфальцифицирован ли архив 🙄

    зы. Судя по оперкоду, проблему как выявить, так и решить не удастся, из-за того что эврика внедряет свой код для отслеживания экзепшенов, что может влиять на работу проекта в целом. Поэтому скорее всего на тему можно забить, но иметь ввиду :ph34r:

    in reply to: Странная работа sListView #44946
    Feg16
    Participant
    'Support' wrote:

    В стандартном контроле Items рисуются не Delphi, а Windows…

    Странная картина наблюдается с ListView, похоже на разных машинах координаты от системы возвращаются разные.

    С многоточием при переносе текста проблема – стандартные функции вывода тектса не поддерживают вывод многоточия в первой строке, если не помещается.

    Нашел. Но думаю это не слишком сложно поправить 🙄

    А по вопросу координат – могу предложить помощь потестировать и разобрать на кубики, у меня большой парк разнородных систем.

    in reply to: AC 7.31 баг acBUtils.pas #44944
    Feg16
    Participant
    'Support' wrote:
    Если демка есть – можно ее посмотреть?

    Будет вечером. Там просто диалог на форму ложим, и начинаем быстро открывать один за другим файлом. В прекрасный момент диалог падает 🙄 В принципе это не страшно, так как глушится на месте, но то что его может перехватить основной поток – не очень хорошо, возможны утечки. Поэтому хочу получить весь юнит, чтобы получить более детальный стек вызова и там-же поэкспериментировать.

    'Support' wrote:
    О размерах страницы форума я не задумывался, не смотрел. Сейчас изменено на внешние стили.

    Так лучше, а то грузить форум с GPRS траффиком довольно накладно, спасибо 🙄

    Feg16
    Participant
    'Support' wrote:

    Это вопрос не остабильности ведь, а о способе обработки ошибки – выдать сообщение или тихо заменить вводимые данные на другие…

    В следующей версии при возникновении такой ошибки будет возвращено старое значение и выведено сообщение о несоответствии формата.

    Во! Гут 🙄 буду благодарен

    in reply to: Странная работа sListView #44938
    Feg16
    Participant
    'Support' wrote:

    Странная картина наблюдается с ListView, похоже на разных машинах координаты от системы возвращаются разные.

    Я еще буду изучать его, возможно не буду опираться на системные функции, если это подтвердится.

    С многоточием при переносе текста проблема – стандартные функции вывода тектса не поддерживают вывод многоточия в первой строке, если не помещается.

    Опять же еще буду смотреть, но похоже такого режима в стандартных функциях нет и придется писать свою.

    Эм.. а вы отталкиваетесь разве не от исходников стандартного TListView? В вашем контроле походу все делается аналогичным способом, акромя вывода другой картинки чекбокса и своей картинки иконки. Или я чего-то недопонимаю?

    in reply to: AC 7.31 баг acBUtils.pas #44930
    Feg16
    Participant

    Попытался собрать демку – получилось с первого раза. Начала тыкать – то через раз, потом через 5 раз, потом вообще перестало. Послу получаса тыканья опять одна появилась, с чем и поспешил навскидку поработать:

    Для начала смотрим стек вызова и видим что ошибка происходит когда отправляется оконное сообщение после выполнения диалога.

    Code:
    StdWndProc(11208064,2,0,0)
    TCommonDialog.TaskModalDialog($438714,(no value))
    TOpenDialog.DoExecute($438714)
    TOpenDialog.Execute
    TForm1.ToolButton1Click()

    Декомпилим SacBUtils.dcu, получаем карту нужных точек:

    Code:
    0012E6A8 0050FD99 mytest.0050AA10 TacScrollWnd.acWndProc
    0012E6B4 0050B826 mytest.0050FCB0 TacBaseWnd.acWndProc

    Далее выносим блок дампа:

    Code:
    0050FD94 |. E8 77ACFFFF CALL mytest.0050AA10 ;TacScrollWnd.acWndProc
    0050FD99 |. 8B06 MOV EAX,DWORD PTR DS:[ESI]
    0050FD9B |. 83E8 05 SUB EAX,5 ;Тут некий кейс от 5 до 45068
    0050FD9E |. 74 37 JE SHORT mytest.0050FDD7
    0050FDA0 |. 83E8 05 SUB EAX,5
    0050FDA3 |. 74 11 JE SHORT mytest.0050FDB6
    0050FDA5 |. 05 F6FEFFFF ADD EAX,-10A
    0050FDAA |. 83E8 02 SUB EAX,2
    0050FDAD |. 72 28 JB SHORT mytest.0050FDD7
    0050FDAF |. 2D F6AE0000 SUB EAX,0AEF6
    0050FDB4 |. 75 30 JNZ SHORT mytest.0050FDE6
    0050FDB6 |> 8B43 4C MOV EAX,DWORD PTR DS:[EBX+4C] ;Как я понял тут тест на окно активно / неактивно
    0050FDB9 |. 50 PUSH EAX ;Стеким хендл окна
    0050FDBA |. E8 8584EFFF CALL ;Вызываем проверку на видимость окна
    0050FDBF |. 85C0 TEST EAX,EAX
    0050FDC1 |. 74 23 JE SHORT mytest.0050FDE6 ;Если окно видимо – отправляем сообщение о отрисовке
    0050FDC3 |. 6A 00 PUSH 0 ; 0
    0050FDC5 |. 6A 00 PUSH 0 ; 0
    0050FDC7 |. 68 85000000 PUSH 85 ; WM_NCPAINT
    0050FDCC |. 8B43 4C MOV EAX,DWORD PTR DS:[EBX+4C] ;
    0050FDCF |. 50 PUSH EAX ; хендл окна
    0050FDD0 |. E8 8785EFFF CALL ; вызов отправки сообщения

    Далее выполняетс системный код:

    Code:
    function StdWndProc(Window: HWND; Message, WParam: Longint;
    LParam: Longint): Longint; stdcall; assembler;
    asm
    бла бла бла
    MOV EAX,[ECX].Longint[4] ; регистр ECX пуст!
    CALL [ECX].Pointer
    бла бла бла
    end;

    Делаем приблизительные выводы: объект назначения уничтожен в промежутке от отправки до прихода сообщения. Причем не всегда, а в рандомных ситуациях.

    Если надо еще более детально – сделаю в выходные, когда буду дома.

    зы. не в обиду. я рад сотрудничать с вами, и все мои выкрики, усмешки и прочее не принимайте близко, просто когда надо делать много и часто, а потом то что сделано начинает вылетать в неожиданных местах, от тебя не зависящих – нервы не выдерживают =)

    зы2. в качестве оффтопика. А почему все стили форума тупо вбиваются в страницу? это же огромные тормоза при загрузке и большой сжираемый траффик, разве сложно забить их в один CSS файл который будет кешироваться только один раз.

    in reply to: AC 7.31 баг acBUtils.pas #44927
    Feg16
    Participant
    'Support' wrote:
    Когда-то я давал Вам исходники, разве это как-то помогло тогда?

    Видимо несложно для этой ошибки сделать програмку с демонстрацией проблемы?

    Если я не задавал больше вопросов – значит я там покопался и помогло. В аттаче видео. Демку пока собрать не получается, завтра попробую на свежую голову

    in reply to: AC 7.x ВАЖНО! Фатальная ошибка TsSpeenEdit #44926
    Feg16
    Participant
    'Support' wrote:

    Все сделано по примеру стандартных компонент. Если например '1.121.12' вставлять в числовое поле в DataSet через грид или еще как – будет то же самое, выведется ошибка о несоответствии формата.

    Это понимаю. Но раз вы делаете свои компоненты отдельными, то наверное стоит уделить внимание тому, чтобы они работали более стабильными чем стандартные?

    in reply to: Странная работа sListView #44925
    Feg16
    Participant
    'Support' wrote:
    Насчет чекбоксов – можно посмотреть скриншот стандартного ListView с чекбоксами?

    Эм.. а второй скрин постом выше не подходит? Если нет, уточните что вы хотите увидеть

    in reply to: AC 7.31 Шо це за нафиг #44924
    Feg16
    Participant
    'Support' wrote:
    Как раз это и было частично причиной выхода версии 7.31 Разве проблема еще есть?

    Есть. Пустая форма, одни DecimalSpinEdit, вводим “-” и см аттач

    'Support' wrote:
    За скриншоты чужих десктопов спасибо, но там нигде не видно, что проблема именно в скинах.Отчеты нельзя из мантисы вынуть? Можете их прислать пожалуйста? Посмотреть внимательно скриншоты?Пожалуйста сразу и ссылки на эти посты, чтобы говорить конкретно.

    Отчеты выну позже, когда приеду в город. Это не скриншоты, а первая ступень ловилки исключений. Там видно, что исключения возникают:

    1) Когда вводят минус

    2) Когда пытаются развернуть форму из таскбара

    3) Когда форму переносят на задний – передний план

    4) Непонятная, когда на форме крутится много потоков, перестает отрабатывать прорисовке и в конце модуль вылетает на ошибку

    5) Бывает при включеных бордерах

    6) Бывает при переключении вкладок пейдж контрола, когда перерисовывается сначала при помощи эффекта показа формы, а потом при помощи эффекта смены вкладки пейджконтрола

    Feg16
    Participant
    'Support' wrote:

    А что должно произойти?

    По хорошему – должна отмениться вставка. Вы же скопированый в буфер обмена кусок текста не вставите в папку? Или скопированный файл в TEdit… Я понимаю если можно было обработать исключение в какой нибудь функции вида OnFormatError, но таковой нет, следовательно она должна обрабатываться уровнем ниже.

    in reply to: TsMonthCalendar локализация #44910
    Feg16
    Participant
    'Sem' wrote:

    К сожалению у меня только sMonthCalendar.dcu

    Что в принципе неудивительно 🙂

    Если горит – разреши изменять константе в режиме выполнения и задай нужное название константе s_Today: sConst.ACString;

    in reply to: AC 7.31 баг acBUtils.pas #44909
    Feg16
    Participant
    'Support' wrote:
    Если перед открытием диалога не перемещать форму, то ошибки нет?

    Извиняйте конешно, но ваша манера задавать вопрос, ответ на который был выше – начинает немного напрягать.

    Quote:
    Если открыть программу, перетащить ее форму влево – вправо, а потом попытаться выполнить этот код – то программы вылетит на ошибку (см. аттач)

    Если открыть программу и не перетаскивать ее туда-сюда – то ошибки не возникает

    'Support' wrote:
    Вопрос – откуда видно, что перехватывается еще и нашим кодом?

    Объяснять я не силен, но ваш код по битам разложить могу, если понадобиться доказать что возникает ошибка именно в скомпиленном у вас dcu шнике.

    Но раз спросили – отвечу. В приложении имеется глобальный перехватчик исключений. Исключение возбуждается в acBUtils.pas и потом не передается в основной поток программы. Проявив немного пыхтения и заглушив нужные джампы, можно увидеть что исключение перекрывается в той-же диапазоне памяти, где загружен алфьфаскиновый оперкод. Если дадите исходник юнита – попробую найти проблемное место.

    in reply to: Странная работа sListView #44908
    Feg16
    Participant
    'Support' wrote:
    Попробуйте сделать пустой обработчик события OnDrawItem, можно просто комментарий там оставить. В этом случае все элементы списка будут рисоваться стандартной процедурой.

    Пахнет говнокодом. В таком случаем необходимо сделать новое свойство компонента, рисовать стандартным обработчиком или нет, если не можете сделать свой. В аттаче два скриншота стандартного и скиного листа + бонус два видео, где однозначно видно в чем ваша проблема супротив стандартного листа.

    in reply to: AC 7.31 Шо це за нафиг #44906
    Feg16
    Participant
    'Support' wrote:

    Можно глянуть?

    PS. Версия 7.31 была выложена по просьбе людей из-за нескольких важных багфиксов которые там были сделаны.

    Ах да, банальный ввод минуса в поле ввода чисел – это не важно, пофигу что данные пользователи ввести не могут :huh:

    Глянуть? – да пожалста. В аттаче скриншоты, отчеты эврики хранятся в мантисе. Если посмотреть внимательно – то видно что ошибки имеют место всего в 3-5 местах программы. Которые я вам вот уже который месяц усиленно расписываю в постах. Пароль в личке.

    Feg16
    Participant
    'Support' wrote:

    Свойство UseSystemDecSeparator True?

    По умолчанию было выключено. Включил – работает только с точкой. Но в таком случае возникает вторая ошибка – из буфера обмена можно запросто вставить число к примеру “1.121.12” и компонент вылетит на ошибку FormatError.

    in reply to: TsMonthCalendar локализация #44876
    Feg16
    Participant
    'Support' wrote:

    Эта надпись берется из comctl32.dll текущей системы и, по идее, должна быть одинакова и в run-time и в design-time.

    Видимо по какой-то причине не читается надпись на Вашей системе, единственная идея которая приходит в голову на данный момент – возможно у среды Delphi и у программы различные настройки безопасности.

    Возможно система как-то блокирует доступ к ресурсам comctl32.dll для Вашей программы?

    Мое скромное имхо – во первых сделать тестовое приложение в котором проверить, действительно ли кто-то блокирует (вероятность -0.5 процентов =) и если все таки возникают проблемы – то только тогда брать из файла ресурсов. Иначе некоторые приложения со специфическими языковыми настрйками работать однофигственно не будут

    in reply to: AC 7.31 баг acBUtils.pas #44872
    Feg16
    Participant

    Решил выделить еще немного своего времени и покопался в отладчике. Нашел что исключение вызывается после закрытия диалогового окна, которое создано следующим кодом:

    Code:
    function TDataExport.FileOpen(var UserFileName: string; FileExt: string): boolean;
    begin
    Result := False;
    with TsOpenDialog.Create(nil) do
    try
    FileName := FileName;
    DefaultExt := FileExt;
    Filter := Concat('*.', FileExt);
    if Execute then begin
    UserFileName := FileName;
    if ExtractFileExt(UserFileName) = '' then
    UserFileName := Concat(UserFileName, '.', FileExt);
    Result := True;
    end;
    finally
    Destroy();
    end;
    end;

    Причем пофигу, хоть TOpenDialog, TsOpenDialog, TSaveDialog, TsSaveDialog – все вылетают. пробовал убрать Destroy и задать родителя – однофигственно. Если выключить альфаскины – ошибки не возникает.

Viewing 20 posts - 101 through 120 (of 271 total)