Загрузка процессора при работе с приложением

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Пушкин
Сообщения: 4
Зарегистрирован: 20 апр 2006, 09:33
Откуда: Самара
Контактная информация:

После 10-15 минут работы с приложением, использующем TTimer и TImage в роли фона форм (хотя, это, наверное, не при чём), загрузка процессора идёт на 98-100%, и сохраняется до перезагрузки компьютера.

Приложение написано мной, использует файловую систему по сети (сервер - на \\server, клиенты - у всех менеджеров, используется один файл базы "dblist.dat" для чтения и записи.

Если запускать приложение не из среды разработки (не из Delphi), то ничего не тормозит...

В чём может быть проблема?
Аватара пользователя
Duncon
Сообщения: 2085
Зарегистрирован: 10 окт 2004, 14:11
Откуда: Питер
Контактная информация:

Ты б чего показал...
[syntax=Delphi] [/syntax]
Пушкин
Сообщения: 4
Зарегистрирован: 20 апр 2006, 09:33
Откуда: Самара
Контактная информация:

Ты мне скажи, что ты хотел бы увидеть...
Я дважды верил в истину одну:
Лучше быть дважды мёртвым, чем истлеть в плену...
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

может отладчик тупит? если без ИДЕ работает нормально - забить ;)
Изображение
Пушкин
Сообщения: 4
Зарегистрирован: 20 апр 2006, 09:33
Откуда: Самара
Контактная информация:

Игорь Акопян, думаю на DCOM и прочую чушь (оно видно с XP несовместимо)...

Вот ещё новая проблема:

if (cmbDataVer.ItemIndex=1) then begin
if (odExcel.Execute) then begin
F := odExcel.Filename;
if (not (FileExists(F))) then goto n;

AssignFile(Text, F);
try
Reset(Text);
except
Showmessage('Âûáðàííûé ôàéë çàíÿò äðóãîé ïðîãðàììîé!');
Exit;
end;
AssignFile(Datafile, FN_DATABASE+'.imp');
Rewrite(Datafile);
while not eof(Text) do begin
// reading data...
ReadLn(Text, Tmp);
Tmp := Trim(Tmp);
// showmessage(tmp);
Excel.Name :=
StringReplace(
StringReplace(Explode(Tmp, ';', 1), '~', ';', [rfReplaceAll]),
'"', '', [rfReplaceAll]);
// if (Name='') then Continue;
Excel.Category := StringReplace(Explode(Tmp, ';', 2), '~', ';', [rfReplaceAll]);
Excel.RukovodName := StringReplace(Explode(Tmp, ';', 3), '~', ';', [rfReplaceAll]);
Excel.Region:= StringReplace(Explode(Tmp, ';', 4), '~', ';', [rfReplaceAll]);
Excel.AdressCity := StringReplace(Explode(Tmp, ';', 5), '~', ';', [rfReplaceAll]);
Excel.AdressStreet := StringReplace(Explode(Tmp, ';', 6), '~', ';', [rfReplaceAll]);
Excel.AdressIndex := StringReplace(Explode(Tmp, ';', 7), '~', ';', [rfReplaceAll]);
Ph :=StringReplace(Explode(Tmp, ';', 8), '~', ';', [rfReplaceAll]);//òåë-íû
Oh := Ph;
for J := 1 to AnsiPos(')', Ph) do Ph[J] := #32;
Ph := Trim(Ph);
Ph := 'Testdata';//SelectPrimaryPhone(CharCount(Ph, ','), Ph, Excel.Name);
Excel.OfficePhoneN := Ph;
Excel.ExtPhones := Oh;

if (StringReplace(Explode(Tmp, ';', 9), '~', ';', [rfReplaceAll])='Äà') then
Excel.Prozvon := psPM else Excel.Prozvon := psNeprozvoneno;

Excel.Vozrast := tsNew;
Excel.Email := StringReplace(Explode(Tmp, ';', 9), '~', ';', [rfReplaceAll]);
Excel.WWW := StringReplace(Explode(Tmp, ';', 10), '~', ';', [rfReplaceAll]);
Write(Datafile, Excel);
Imp := Imp + 1;
// showmessage(inttostr(filesize(text)));
end;
CloseFile(Text);
CloseFile(Datafile);
CloseFile(Database);

Reset(Database);
Reset(Datafile);
Seek(Database, FileSize(Database));
Read(Datafile, Excel);
Write(Database, Excel);
CloseFile(Datafile);
CloseFile(Database);

DeleteFile(PAnsiChar(FN_DATABASE+'.imp'));

Не переходит на область CloseFile(Text);
почему не пойму.
Я дважды верил в истину одну:
Лучше быть дважды мёртвым, чем истлеть в плену...
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

чрезвычайно сложно и ломотно разбираться в коде, который так приведён, отредактируй пожалйста свой сообщение с использованием тэга CODE при вставке кода
Изображение
Ответить