Форум: "KOL";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
ВнизПомогите найти старые версии KOL MCK Найти похожие ветки
← →
Ал (2005-02-07 10:21) [0]Периодически обновлял версии KOL MCK до 2.00.
На каком-то этапе программа стала выдавать ошибку на Win95 на старых ПК.
Пытался менять опции проекта, как рекомендовали на форуме. Ни к чему не привело! Хочу сделать откат к предыдущим версиям KOL MCK (к сожалению о сохранности их у себя не позаботился), так как раньше под Win95 на старых ПК работало.
С bonanzs.rinet.ru откаты не качаются. Писал Кладову. Пока без ответа.
Подскажите, как быть.
← →
mdw © (2005-02-07 11:35) [1]Здесь можно скачать v1.69
http://www.kolnmck.ru/files/kol_mck.zip
← →
ECM © (2005-02-07 11:36) [2]У Кладова на сайте в разделе "обновления" есть ретро-откаты...
Воспользуйся ими!
← →
Ал (2005-02-07 12:12) [3]Как я уже сказал, с bonanzs.rinet.ru откаты не качаются.
Может быть "У Кладова на сайте " имеет другой адрес?
← →
ECM © (2005-02-07 14:12) [4]Да уж... сорри... не внимательно прочитал первый пост..
Отсутствие ретро-откатов имеет место быть...:(
← →
ECM © (2005-02-07 14:20) [5]USE_CMOV случаем не затесалось в проект?
← →
miek © (2005-02-07 18:17) [6]Проще сразу скачать 2.00, чем до него обновляться.
← →
RA © (2005-02-07 18:31) [7]2Ал Интересно какие ошибки и на всех ли проектах? На ск-ко я понял это скомпилинная прога глючит, а она же на другой виндозе как себя ведет? И делфа какая?
У меня тоже КОЛ2 на моей D3 и w95 не пашет. Пришлось остановиться на КОЛ1.97 (с небольшими поравками). Все эти вопросы, думаю, помогут выяснить причины такого поведения.
← →
thaddy (2005-02-07 19:12) [8]I have most - if not all - old versions on back-up. Just mail me the version you want.
← →
Yhrik (2005-02-09 04:55) [9]Переход на более старую версию плохое решение. ИМХО.
Лучше ошибку найти. На всех проектах глюкает? Не демках тоже?
А пробовал UNDEF ASM_VERSION?
← →
Ал (2005-03-05 14:51) [10]Ребята, я с ASM_VERSION и без нее пробовал. Особо в коде не искал. Ломается при старте приложения, до создания форм или контролов еще не доходит.
Перебором версий остановился на 1.92.
По моему, проблема в том, что в поздних версиях KOL используются конструкции, не поддерживаемые ранними Pentium.
Кроме того, где-то с последних версий 1.9X ошибка в SetCanResize.
Опять же нашел перебором и сравнением версий.
Почему-то при вызове
Form.SetClientSize(Width,Height);
Form_ClockInfo.Form.CanResize := False;
устанавливается размер окна на 3 пикселя больше, чем заказано!
Если исправить SetCanResize, то все работает правильно!
Правильный (на мой взгляд) вариант SetCanResize:
//[procedure TControl.SetCanResize]
procedure TControl.SetCanResize( const Value: Boolean );
asm
PUSH EBX
MOV EBX, EAX
CALL GetCanResize
CMP AL, DL
JZ @@exit // Value = CanResize
MOV [EBX].fPreventResize, AL
TEST DL, DL
MOV EDX, [EBX].fStyle
JZ @@set_thick
AND EDX, not WS_THICKFRAME
JMP @@set_style
@@set_thick:
OR EDX, WS_THICKFRAME
@@set_style:
MOV EAX, EBX
CALL SetStyle
MOV EAX, EBX
CALL GetWindowHandle
MOV EAX, EBX
CALL GetWidth
MOV [EBX].FFixWidth, EAX
MOV EAX, EBX
CALL GetHeight
MOV [EBX].FFixHeight, EAX
XCHG EAX, EBX
MOV EDX, offset[WndProcCanResize]
CALL TControl.AttachProc
@@exit:
POP EBX
end;
{$ELSE ASM_VERSION} //Pascal
procedure TControl.SetCanResize( const Value: Boolean );
begin
if Value = CanResize then Exit;
fPreventResize := not Value;
if Value then
Style := Style and not WS_THICKFRAME
else
Style := Style or WS_THICKFRAME;
GetWindowHandle;
FFixWidth := Width;
FFixHeight := Height;
AttachProc( WndProcCanResize );
end;
← →
Ал (2005-03-09 08:44) [11]Программа компилируется на D6 (KOL 2.0) под WinXP(Cel 2,4 GHz) или Win98 (Cel 800 MHz). При этом хорошо работает на Win98,2000,XP на разных Pentium II и старше. А вот на Pentium 200 и младше отказывается запускаться (пишет ошибку памяти). Причем и под Win95 и под Win98.
То есть, делаем вывод - причина в железе.
Раскопать код KOL не хватит квалификации. KOL 1.92 таких багов не имеет. Жду помощи!
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2005.11.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.055 c