Zitat von
divBy0:
Hast du mal mit Portmon geschaut was mit dem Port passiert?
Nein habe ich nicht. Werde ich aufjedenfall mal machen. Jedoch kann ich an Hand von meinem Programm erkenne, das Daten kommen. Ich habe eine Control-LED programmiert, die immer dann AKTIV ist, wenn die Funktion "READPACKET" durchlaufen wird.
Daher weiß ich das aufjedenfall gelesen wird. Aber mit PortMon werde ich mal testen.
Zitat von
letsfetz:
Nein ich meine ein Programm im Autostart, welches dein Prog. erst startet wenn alle Windowsdienste laufen. Ich sag dies deshalb weil ich auch schon so ähnliche "Timingprobleme" hatte, da das Programm direkt im Autostart war und im Form.Create Sachen passiert sind die im Windows während der Startphase einfach noch nicht zur Verfügung standen.
Da gebe ich Dir recht. Ich habe allerdings, meine Funktion wie folgt aufgebaut...
Delphi-Quellcode:
...Form.Create
begin
..
COMConnectTimer.Intervall := 30000;
COMConnectTimer.Enabled := true;
...
end;
...
procedure TForm1.COMConnectTimer(Sender: TObject);
begin
ComPort1.Close;
ComLoadSettings;
ComPort1.Open;
COMConnect.Enabled := false;
end;
procedure TForm1.ComLoadSettings;
var
Pfad :
String;
AppDataDir :
string;
sMessage :
String;
begin
try
AppDataDir := GetSpecialFolder(CSIDL_COMMON_APPDATA) + strAppDataDir;
if not DirectoryExists(AppDataDir)
then
begin
Servicememo.Lines.Add('
Der Pfad '+AppDataDir+'
konnte nicht gefunden werden'+#13+
'
ComPort wurde nicht initialisiert');
end
else
begin
ComPort1.LoadSettings(stIniFile, AppDataDir + strIniFName);
Servicememo.Lines.Add('
ComPort wurde initialisiert am: '+DateTimeToStr(Now));
Servicememo.Lines.SaveToFile(AppDataDir + '
Service.txt');
end;
except
on e :
Exception Do
begin
sMessage := e.
Message;
Servicememo.Lines.Add(sMessage);
end;
end;
end;
Danke schon mal für Eure Tips.
Gruß Jens