Вверх ↑
Разработчик
Ответов: 26304
Рейтинг: 2146
#1: 2008-04-08 02:37:15 ЛС | профиль | цитата
Galkov писал(а):
У тебя точно kol.pas из дистрибутива

Точно. Специально нулевой поставил, для получения патчей. Пропатчил только прозрачность, больше ничего.

DoDestroy действительно с FPC, а вот Destroy точно не с того взял

Вот настоящий, с оригиналного FPC for KOL, он отличается от Дельфячего (прошлый, как раз Дельфячий был)


{$IFDEF ASM_VERSION}
destructor TObj.Destroy;
asm
PUSH EAX
CALL Final
POP EAX
XOR EDX, EDX
CALL System.@FreeMem
//CALL System.@Dispose
end;
{$ELSE ASM_VERSION} //Pascal
destructor TObj.Destroy;
begin
Final;
{$IFDEF DEBUG_ENDSESSION}
if EndSession_Initiated then
LogFileOutput( GetStartDir + 'es_debug.txt',
'FINALLED: ' + Int2Hex( DWORD( Self ), 8 ) );
{$ENDIF}

inherited;
end;
{$ENDIF ASM_VERSION}

Похоже, кто-то его уже правил



------------ Дoбавленo:

Galkov, я вот что обнаружил, что если сделать вот так


         if (Msg.wParam <> 0) then Exit;
DoDrawDblBuffered( Self_ );
// Rslt := 0;
// Result := True;

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

Вот только не ругайся насчет "метода тыка", я просто пытался локализовать зацикливание.
карма: 22

0