Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 02:58 21.05.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Тема Pentium 4 i Delphi 7.0 problem?  
Автор Vermax (киликанзер)
Публикувано26.05.06 13:47



Имам си една програмка, която не е нищо особено. 2 формички които се създават още в началото на приложението и после едната "управлява другата" (визуализира я и я скрива). По-нататък ако е необходимо ще пиша и какви компоненти използвам(Подозирам JVCL компонента, но не искам да ви влияя)
Имам следния проблем: това софтуерче се билдва и тръгва на Пентиум Селерон 2.4 обаче сминих машината на Пентиум 4 на 3.0 МHz(и на двете е едно и също XP proffesional). На новата конфигурациика се билдва без проблеми, но като тръгва дава DIVISION BY ZERO и то го дава още преди Аpplication.Initialize;

98% съм сигурен че е от някоя крива компонента,но все пак да попитам, някой имал ли е този проблем?



Тема Re: Pentium 4 i Delphi 7.0 problem?нови [re: Vermax]  
Автор Vermax (киликанзер)
Публикувано26.05.06 14:38



Мдааа в JVCL версия 2.10 се оказаха проблемите, просто хората в 2003-та година не са предвидили че може да има толкова бързи процесори . Т как се смята бързина на процесор :) :

Unit e JclSysInfo

...

function GetCPUSpeed(var CpuSpeed: TFreqInfo): Boolean;
var
T0, T1: TULargeInteger;
CountFreq: TULargeInteger;
Freq, Freq2, Freq3, Total: Integer;
TotalCycles, Cycles: Int64;
Stamp0, Stamp1: Int64;
TotalTicks, Ticks: Cardinal;
Tries, Priority: Integer;
Thread: THandle;
begin
Stamp0 := 0;
Stamp1 := 0;
Freq := 0;
Freq2 := 0;
Freq3 := 0;
Tries := 0;
TotalCycles := 0;
TotalTicks := 0;
Total := 0;

Thread := GetCurrentThread();
Result := QueryPerformanceFrequency(Int64(CountFreq));
if Result then
begin
while ((Tries < 3 ) or ((Tries < 20) and ((Abs(3 * Freq - Total) > 3) or
(Abs(3 * Freq2 - Total) > 3) or (Abs(3 * Freq3 - Total) > 3)))) do
begin
Inc(Tries);
Freq3 := Freq2;
Freq2 := Freq;
QueryPerformanceCounter(Int64(T0));
T1.LowPart := T0.LowPart;
T1.HighPart := T0.HighPart;

Priority := GetThreadPriority(Thread);
if Priority <> THREAD_PRIORITY_ERROR_RETURN then
SetThreadPriority(Thread, THREAD_PRIORITY_TIME_CRITICAL);
try
while (T1.LowPart - T0.LowPart) < 50 do
begin
QueryPerformanceCounter(Int64(T1));
Stamp0 := ReadTimeStampCounter;
end;
T0.LowPart := T1.LowPart;
T0.HighPart := T1.HighPart;

while (T1.LowPart - T0.LowPart) < 1000 do
begin
QueryPerformanceCounter(Int64(T1));
Stamp1 := ReadTimeStampCounter;
end;
finally
if Priority <> THREAD_PRIORITY_ERROR_RETURN then
SetThreadPriority(Thread, Priority);
end;

Cycles := Stamp1 - Stamp0;
Ticks := T1.LowPart - T0.LowPart;
Ticks := Ticks * 100000;
Ticks := Round(Ticks / (CountFreq.LowPart / 10));

//по някое време тук ticks става нула нещата заорават, а става нула е доста //бърз и им стават криви сметките...

TotalTicks := TotalTicks + Ticks;
TotalCycles := TotalCycles + Cycles;
Freq := Round(Cycles / Ticks);
Total := Freq + Freq2 + Freq3;
end;
Freq3 := Round((TotalCycles * 10) / TotalTicks);
Freq2 := Round((TotalCycles * 100) / TotalTicks);

if Freq2 - (Freq3 * 10) >= 6 then
Inc(Freq3);

CpuSpeed.RawFreq := Round(TotalCycles / TotalTicks);
CpuSpeed.NormFreq := CpuSpeed.RawFreq;

Freq := CpuSpeed.RawFreq * 10;
if (Freq3 - Freq) >= 6 then
Inc(CpuSpeed.NormFreq);

CpuSpeed.ExTicks := TotalTicks;
CpuSpeed.InCycles := TotalCycles;

CpuSpeed.NormFreq := RoundFrequency(CpuSpeed.NormFreq);
Result := True;
end;
end;



Тема Всяко ново нещо е добре забравено старонови [re: Vermax]  
Автор andrew_nikoloff (bugbuster)
Публикувано26.05.06 14:43



Помните ли Borland Pascal 7?



Тема Re: Pentium 4 i Delphi 7.0 problem?нови [re: Vermax]  
Автор Vermax (киликанзер)
Публикувано26.05.06 20:27



Това ме накара да си спомня за стария Борланд Паскал 7 и мястото на CRT библиотеката в uses клаузата




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.