Avatar billede pigbear Nybegynder
31. januar 2006 - 17:37 Der er 2 kommentarer

Try except virker ikke på comport

Hej,

Når jeg forsøger at skrive til en COM port, og comporten ikke findes på pc´en, så går programmet i stå og ender ikke nede i min finally sætning som den burde. Koden er som følger:
procedure TForm1.Button1Click(Sender: TObject);

var
f : Textfile;
begin
assignfile(f,'COM5');

try
rewrite(f);
writeln(f,'#13#10');
except
  showmessage('Ingen adgang til port');
end;
end;

Programmet går ind i writeln-sætningen og bliver hængende der !

Jeg skal skrive nogle tegn til et vare-displayen på et kasseapparat som er koblet til comporten og det hele virker meget fint, men hvis displayet er slukket så hænger mit program i writeln sætningen !

Er der nogen der har en god ide til at løse dette ?

mvh

PigBear
Avatar billede tolderlund Nybegynder
31. januar 2006 - 18:38 #1
Når du bruger assignfile, writeln osv har du ikke særlig meget kontrol over det.
Jeg vil foreslå at du bruger en comport komponent der benytter de rigtige windows api kald til at kommunikere med porten.
En komponent jeg selv har brugt er TAdpComport fra TurboPowers Async Professional komponent pakke der kan hentes gratis fra sourceforge:
http://sourceforge.net/projects/tpapro
Avatar billede pigbear Nybegynder
01. februar 2006 - 17:50 #2
Hej, tak for svar.
Jeg vil helt sikker prøve de komponenter du viser til, men lige nu
mangler jeg bare at få try except at virke. Jeg synes det er meget underligt at den venter i uendelighed og aldrig falder i except sætningen. Det burde den gøre eller hvad ? Det virker på en fil !

Er der nogen anden måde man kan forbigå dette problem fx. med nogle direktiver {-}
eller er jeg nødt til at gå igang med en komponent !

Mvh

PigBear
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester