Tamas Rudnai wrote: > Hi Vitality, My name really is "Vitaliy", without the "t" -- it's not a typo. ;-) > Unfortunately I have no Delhpi on my computer, just downloaded the source > code for TurboPower Async Pro library and had a quick glance on > IsPortAvailable function. Do you know exactly which line causes the error? > Is that possible that TApdWin32Dispatcher.Create fails so that DeviceLayer > remains nil therefore when it it throws an exception DeviceLayer.Free will > hangs your app? If yes the obvious solution is to check if that > DeviceLayer > is nil or not before referencing to it. If that Create function does not > throws an exception but leaves DeviceLayer nil when fails then it is > another > issue so check that value before using it. > > If the error is somewhere else just delete my mail :-) There was no error. The program would simply stop responding. However, after some fiddling I found that the program will eventually unfreeze (it takes about 4 minutes per port). A colleague pointed out that HyperTerminal enumerates the ports instantly, so I ran the process monotor (mentioned a few days earlier on this list), and found that HT grabs the list directly from the Registry. Now I'm doing the same, and the enumeration problem is gone. I would like to find a solution for being able to not "hang" the program when I actually open a BT port for writing. VItaliy -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist