Parameter auslesen Fehler?
lima-city → Forum → Programmiersprachen → Delphi & Pascal
anweisung
ausbildung
beitrag
damal
erste
fehler
fehlermeldung
fest
formen
funktion
nil
not
parameter
pawort
programmanager
prozedur
quatsch
schleifen
sender
sperre
-
Hi,
ich habe ein Programm geschrieben, dass den PC sperrt.. eerst gibt man ein Passwort ein und dr?ckt dann auf sperren.. es wird alles minimiert, taskleiste weg, desktopsymbole ausgeblendet usw. ... dann wird das Fenster gro?, schwarzer Hintergrund, Rand weg.. und nat?rlich verschwindet auch das TEdit und der TButton... Dann ?ffnet sich ein neues Form, dieses Sperrt den Pc und schliesst den Taskmgr immer wieder, jedoch sperrt es den PC nach Strg-Alt-Entf nicht wieder, sondern man kann ein Passwort eingeben... nun bleibt ja die m?glichkeit, dass programm mit alt+f4 zu schliessen, daf?r habe ich aber dann eingestellt, dass beim schliessen das Programm mit den parametern closed und dem passwort gestartet wird, so dass der PC direkt wieder gesperrt ist... nur er zeigt mir immer eine Fehlermeldung an... mit zugriffsverletzung und so.. und auch nur wenn ich das programm mit parametern starte..
Hier die Prozedur f?r die Funktion mit dem neustart und den parametern:
(TForm2 ist das Form was als erstes startet!)
procedure TForm2.FormCreate(Sender: TObject);
var s: integer;
p1: string;
p2: string;
begin
for s := 1 to ParamCount do begin
p1 := ParamStr(1);
end;
for s := 1 to ParamCount do begin
p2 := ParamStr(2);
end;
if(p1 = 'closed') then begin
passwort := p2;
passwort1 := p2;
Form2.Borderstyle := BsNone;
Form2.Width := Screen.Width;
Form2.Height := Screen.Height;
Form2.Color := clblack;
Form1.Enabled := True;
Form1.Visible := True;
Form2.Button1.Free;
Form2.Label1.Free;
Form2.Edit1.Free;
Form2.Top := 0;
Form2.Left := 0;
ShowWindow(FindWindow(nil,'Program Manager'),SW_HIDE);
SetStartBtnEnabled(False);
ShowTaskbar(False);
Blockinput(True);
end;
end;
mm die einr?ckungen bleiben nicht da...
//edit: nun wohl^^ zuberwort  
Beitrag ge?ndert am 21.05.2006 11:55 von vercetti -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ein bisschen wenig Code um den Fehler zu finden, vielleicht liegt der ja auch woanders.
Au?erdem find ich das recht unbrauchbar ne For- Schleife zu machen die ParamStr auslie?t dazu auch noch nen festen wert? Was bringt es wenn du den Parameter x-Mal auslie?t? Da reicht auch ne simple if- Anweisung if ParamCount() > 0 then p1 := PramStr(1);
?berhaupt is es doch auch quatsch erst ParamStr(1); an p1 zu ?bergeben und dann zu ?berpr?fen. Die Variablen p1 und p2 kannst dir ja auch sparen das sich an den Parametern nix ?ndert z.B.: if ParamStr(1) = 'Wasweisich' then ...
-
der fehler kommt mit irrrgendwie bekannt vor
der ParamString ist >>> nicht <<< ein gew?hnlicher String...
wenn mich nicht alles t?usch habe ich damals in der Ausbildung eine Typenumwandlung von pString in String gemacht...
zur not greif dir doch jedes einzelne zeichen ab und schreib es in nen normalen string... -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage