![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Господа подскажите плз как узнать открыт ли файл?
JTAG © (2006-11-01 12:29:00)Господа подскажите плз как узнать открыт ли файл?
Percent (2006-11-01 13:59:00) [1]Надо отдельный поток делать. По-любому.
Или еще, как вариант, далеко не самый лучший, поставить внутри цикла:
Application.ProcessMessages;
И в условии цикла, вместо (2 > 1):
not Application.Terminated
JTAG (2006-11-01 13:50:00) [2]Это у меня основной цикл программы он все время крутится,
может внутри этого бесконеного цикла нужно какой нибудь оператор выхода по нажатию "Х" поставить?
Anatoly Podgoretsky (2006-11-01 13:37:00) [3]Вот в этой строчке и узнаешь
writeln(outfile, systemtime);
Percent (2006-11-01 13:35:00) [4][7] JTAG (01.11.06 13:28)
Этот цикл у тебя где крутится?
JTAG (2006-11-01 13:28:00) [5]while 2>1 do
begin
receivebyte:=readsymbol(1);
if a=1 then begin
a:=0;
a1:=readsymbol(1)-48;
a2:=readsymbol(1)-48;
a3:=readsymbol(1)-48;
a4:=readsymbol(1)-48;
a5:=readsymbol(1)-48;
value:=a1*10000+a2*1000+a3*100+a4*10+a5;
try
systemtime:= FormatDateTime('dd.mm.yyyy hh:nn:ss', Now);
AssignFile(outfile,filename);
Append(outfile);
writeln(outfile, systemtime);
writeln(outfile, level);
closeFile(outfile);
except
closeFile(outfile);
form1.VaCom.Close;
exit;
end;
end;
// form1.Memo1.Lines.Append(' receivebyte='+inttostr(receivebyte)+' ');
end
Percent (2006-11-01 13:10:00) [6]Я в цикле написал
Цикл увидеть можно?
Какие условия прерывания цикла?
Как обрабатываются сообщения Windows?
Stanislav (2006-11-01 13:07:00) [7]JTAG (01.11.06 12:39) [3]
Скорее это работает дополнительный поток, который общаятся с com портом.
Anatoly Podgoretsky (2006-11-01 12:57:00) [8]> JTAG (01.11.2006 12:39:03) [3]
И почему ты решил, что это из-за незакрытого файла?
JTAG (2006-11-01 12:39:00) [9]Моей программой,
У меня программа принимает данные через ком порт и запаисывает их в файл. принимает так, пришли данные открыл файл для добавления потом закрыл и опять жду в цикле. Но когда пытаюсь закрыть программу нажав на "Х"
то виндовс пишит что программа не отвечает и после нескольких нажатий на "Х" все таки закрывается , но вылезет окно выбрано завершение не отвечающей программы , послать собщении в микросовт или нет.
Как корректно завершить программу.
Я в цикле написал исключительную ситуаия
try
открыть файл для записи и записать
закрыть файл
exception
exit;
end;
теперь хочу перед exit сделать проверку открыт ли файл и если да , то закрыть его.
Still Swamp (2006-11-01 12:33:00) [10]Я бы попытался его открыть его с полными правами, после разбирал бы полученную ошибку.
Desdechado (2006-11-01 12:31:00) [11]открыт кем? твоей или посторонней программой?