![]() |
IPs in ListBox einlesen
Hi.
Mein Programm ließt IPs aus einer Textdatei ein, diese werden dann in eine Listbox geschrieben. Allerdings habe ich das Problem, das wenn ich per Schleife die Einträge der Listbox durchlaufe (ListBox1.Items[i]) UND die Einträge per Textdatei eingelesen habe das Programm ein externes startet (es wird ein Konsolenprogramm per Parameter angesteuert) eben dieses sich garnicht erst öffnet. Ich füge mit diesem Code aus einer Textdatei ein:
Delphi-Quellcode:
Wenn ich "normal" aus einem Edit Feld die IP einlese kann ich das Konsolenprogramm ganz normal ansteuern. Eingelesen wird in diesem Fall mit:
sl:=TStringList.Create;
OpenDialog1.Execute; sl.LoadFromFile(OpenDialog1.FileName); for i:=0 to sl.count-1 do ListBox1.Items.Add(sl[i]);
Delphi-Quellcode:
Und das Konsolenprogramm wird in einer ForSchleife aufgerufen:
ListBox1.Items.Add(Edit1.Text);
Delphi-Quellcode:
Was mich wie gesagt wundert ist, das es nur nach dem einlesen aus einer Textdatei Probleme gibt, nicht aber wenn ich die IPs manuell eintrage, es muss also am einlesen liegen.
Befehl:= ListBox1.Items[i] + Edit2.Text + Edit3.Text + Edit4.Text;
//Test ShowMessage('AdvancedPinger.exe' + Befehl); ShellExecute(Application.Handle, 'open', 'AdvancedPinger.exe', PChar(Befehl), nil, SW_ShowNormal); Ich weiß keinen Rat und wäre froh, wenn ihr einen hättet ;) thx 4 help |
Re: IPs in ListBox einlesen
Hai Aljoscha,
warum machst Du dir das Einlesen so schwer? ;-)
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin if (OpenDialog1.Execute) then begin ListBox1.Clear; ListBox1.Items.LoadFromFile(OpenDialog1.FileName); end; end; |
Re: IPs in ListBox einlesen
Zitat:
Aber leider scheint auch dies nicht der Fehler gewesen zu sein! Ich kann die IPs zwar wieder in die Listbox schreiben, aber das Programm kann danach immernoch nicht geöffnet werden! Das Test ShowMessage gibt genau das gleiche aus wie wenn ich die IPs manuell eintrage! Ich verstehe das nicht :( Werden beim einlesen aus der txt (auch wenn sie nicht da sind) Leerzeichen oder sonstwas miteingelesen, so das es beim ausführen von ShellExecute zu einem Fehler kommt? |
Re: IPs in ListBox einlesen
Zitat:
Aber es ist schon seltsam das es beim einfügen der IPs in die Listbox von Hand geht und über die Datei nicht. Gibst Du in deinem Edit1 nach der IP noch ein Leerzeichen ein oder sonst etwas? |
Re: IPs in ListBox einlesen
hast du schonmal versucht zu debuggen (also haltepunkt und befehl in die watches)?
|
Re: IPs in ListBox einlesen
Nein nichts in der Art.
Einfach nur die IP. Ich kann mir das garnicht erklären... //Edit: Und das Debuggen habe ich noch nicht probiert, nein... Ich weiß auch nicht wirklich wie das gehen sollte :) |
Re: IPs in ListBox einlesen
und hast du schonmal den rückgabewert von shellexecute ausgewertet? (der rückgabewert gibt den fehler an)
|
Re: IPs in ListBox einlesen
Nein das Problem ist ja das ShellExecute garnicht erst ausgeführt wird :(
Genau wie wenn man z.B. eine nicht existierende exe angiebt :( //Edit: Ich habe es schon mit der unit TDosCommand versucht, habe die aber nie zum laufen gekriegt :( |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz