Entwickler-Ecke
Windows API - Fehler für ShellEcecute -> ipconfig / renew
hybris42 - Mo 02.07.07 15:23
Titel: Fehler für ShellEcecute -> ipconfig / renew
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm1.Button2Click(Sender: TObject); begin ShellExecute(Handle, 'ipconfig /renew', nil, nil, SW_SHOWNORMAL); end; |
Delphi-Quelltext
1:
| [Fehler] botyass.pas(35): E2010 Inkompatible Typen: 'Integer' und 'PAnsiChar' |
hey,
bei diesem befehl komm ich nicht weiter, bitte um Hilfe.
gruß
Moderiert von
Christian S.: Topic aus VCL (Visual Component Library) verschoben am Mo 02.07.2007 um 18:38
Timosch - Mo 02.07.07 15:25
Nimm statt nil nen leeren String.
hybris42 - Mo 02.07.07 15:31
Timosch hat folgendes geschrieben: |
| Nimm statt nil nen leeren String. |
so etwas:
Delphi-Quelltext
1: 2: 3: 4:
| procedure TForm1.Button2Click(Sender: TObject); begin ShellExecute(Handle, 'ipconfig /renew', SW_SHOWNORMAL); end; |
fehler ist identisch mit post#1
ZeitGeist87 - Mo 02.07.07 15:45
Shellexecute ist folgendermaßen aufgebaut
Quelltext
1:
| Handle, pchar(Operation), pchar(Dateiname), pchar(Parameter), pchar(Verzeichnis), Cardinal(showCommand); |
Delphi-Quelltext
1:
| shellExecute(handle, pchar('command'), pchar('ipconfig /renew'), nil, pchar(''), sw_ShowNormal); |
LG
Stefan
Robinator - Mo 02.07.07 16:03
den PCHar Typecast kannst du dir sparen... leere Strings machen da auch wenig sinn^^ nil is schon richtig ;)
der einzige fehler war, dass die Parameter nicht gepasst haben ;)
gruss
ZeitGeist87 - Mo 02.07.07 16:07
Super Programmiereinstellung!
Wenn die Funktion diesen Typ verlangt, bekommt sie ihn..ganz einfach!
LG
Stefan
Robinator - Mo 02.07.07 16:13
ZeitGeist87 hat folgendes geschrieben: |
Super Programmiereinstellung!
Wenn die Funktion diesen Typ verlangt, bekommt sie ihn..ganz einfach!
LG
Stefan |
Den bekommt sie auch so. Es geht auch nicht um eine "Super Programmiereinstellung" sondern darum, wie delphi mit Strings umgeht, wenn man das weis, weis man auch, dass ich recht habe :P
gruss
hybris42 - Mo 02.07.07 16:14
ZeitGeist87 hat folgendes geschrieben: |
Shellexecute ist folgendermaßen aufgebaut
Quelltext 1:
| Handle, pchar(Operation), pchar(Dateiname), pchar(Parameter), pchar(Verzeichnis), Cardinal(showCommand); |
Delphi-Quelltext 1:
| shellExecute(handle, pchar('command'), pchar('ipconfig /renew'), nil, pchar(''), sw_ShowNormal); |
LG
Stefan |
hey, danke für die hilfe, es klappt, zumindest kommt keine fehlermeldung mehr
ABER
mit ipconfig / renew soll ja meine ip geändert werden, was leider nicht stattfindet. wie muss ich den befehl (für dos) gestalten?
Narses - Mo 02.07.07 16:19
Moin und :welcome: im Forum!
hybris42 hat folgendes geschrieben: |
| mit ipconfig / renew soll ja meine ip geändert werden, was leider nicht stattfindet. wie muss ich den befehl (für dos) gestalten? |
Grundsätzlich: Neue Frage - neuer Thread! :mahn: Sonst gibt das hier Chaos. ;)
Aber trotzdem kurz zu deiner Frage: wer hat denn sowas erzählt?! :shock: Das ist (grundsätzlich erstmal) falsch! Damit aktualisierst du deine vom DHCP-Server bezogenen Daten, sonst nix. :idea:
Bitte beachten: wenn du noch Fragen zu ipconfig hast, dann in einem neuen Thread (IMHO ist das OT)!
cu
Narses
ZeitGeist87 - Mo 02.07.07 16:21
Du musst ihm erst mit
sagen, dass er seine bisherigen Einstellungen vergessen soll.
Dann wendest du deinen Parameter an.
Somit fordert er neue Einstellungen vom DHCP-Server an.
LG
Stefan
hybris42 - Mo 02.07.07 16:23
ZeitGeist87 hat folgendes geschrieben: |
Du musst ihm erst mit
sagen, dass er seine bisherigen Einstellungen vergessen soll.
Dann wendest du deinen Parameter an.
Somit fordert er neue Einstellungen vom DHCP-Server an.
LG
Stefan |
Super! Vielen vielen dank Stefan, dass ging ja mal blitzschnell. :) :)
werds gleich testen :)
Narses - Mo 02.07.07 16:26
Moin!
Das wird hier immer mehr OT... :|
ZeitGeist87 hat folgendes geschrieben: |
Du musst ihm erst mit
sagen, dass er seine bisherigen Einstellungen vergessen soll. |
Das tut /renew auch so. ;)
Nochmal: das gewünschte Ergebnis ("neue IP") muss damit nicht zwangsweise erreicht werden, das hängt von der Konfiguration des DHCP-Servers ab! Und zur Sicherheit noch obendrauf: die "Internet-IP" kann man damit sowieso nicht ändern. :mahn:
cu
Narses
hybris42 - Mo 02.07.07 16:47
Narses hat folgendes geschrieben: |
Moin!
Das wird hier immer mehr OT... :|
ZeitGeist87 hat folgendes geschrieben: | Du musst ihm erst mit
sagen, dass er seine bisherigen Einstellungen vergessen soll. |
Das tut /renew auch so. ;)
Nochmal: das gewünschte Ergebnis ("neue IP") muss damit nicht zwangsweise erreicht werden, das hängt von der Konfiguration des DHCP-Servers ab! Und zur Sicherheit noch obendrauf: die "Internet-IP" kann man damit sowieso nicht ändern. :mahn:
cu
Narses |
werde neuen thread erstellen thx nochmal an alle :)
edit:
hier [
http://www.delphi-forum.de/viewtopic.php?p=449332#449332]gehts weiter
Moderiert von
Christian S.: Daher hier geschlossen
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!