| Autor | Beitrag | 
| JeanvanHees 
          Beiträge: 146
 
 win 2000
 D6 Pers
 
 | 
Verfasst: Mi 25.09.02 14:44 
 
   Tag leute,
 dies ist meinen code:
 		                       Quelltext 
 									| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 14:
 15:
 16:
 17:
 18:
 19:
 20:
 21:
 22:
 23:
 24:
 25:
 
 | function Parread(nextst:string;VMnpos,AMnpos:integer;sm:boolean):integer;var
 return:integer;
 lineM,dummynm:string;
 parmet:array of real;
 dum1,dum2:boolean;
 begin
 if nextst = 'V'
 then begin
 return:=Getpos(Episodestring,VMnpos,chr(13));
 lineM:=copy(Episodestring,VMnpos,return-VMnpos);
 Getparams(lineM,parmet,dummynm,dum1,dum2);
 if sm
 then Parread:=trunc(parmet[1])
 else Parread:=trunc(parmet[2]);
 end
 else begin
 return:=Getpos(Episodestring,AMnpos,chr(13));
 lineM:=copy(Episodestring,AMnpos,return-AMnpos);
 Getparams(lineM,parmet,dummynm,dum1,dum2);
 if sm
 then Parread:=trunc(parmet[1])
 else Parread:=trunc(parmet[2]);
 end;
 end;
 |  Bei Getparams bekomme ich einen error weil lineM nicht stimmt, wenn ich einen break VOR lineM:= setze bekomme ich beim runnen noch immer den error....Es sieht so aus alsob der break übersprungen wird    Hat jemand ne idee???_________________ Cause even though I know things won't get any better, they can certainly never get much worse!
 | 
|  | 
| Tino 
          
  Beiträge: 9839
 Erhaltene Danke: 45
 
 Windows 8.1
 Delphi XE4
 
 | 
Verfasst: Mi 25.09.02 15:15 
 
Wo hin sollte denn Deiner Meinung nach gesprungen werden wenn Du "break" benutzt?
 Hier mal ein (sehr) kurzer Satt aus der Delphi Hilfe:
 	  | Delphi-Hilfe hat folgendes geschrieben: |  	  | Die Prozedur Break verläßt eine for-, while- oder repeat-Schleife. | 
 Also wird das wohl in der If-Then-Anweisung nicht funktionieren.
 Gruß
 TINO | 
|  | 
| DeCodeGuru 
          Beiträge: 1333
 Erhaltene Danke: 1
 
 Arch Linux
 Eclipse
 
 | 
Verfasst: Mi 25.09.02 15:19 
 
wenn du die Prozedur unterbrechen willst, kannst du das mit exit; machen _________________ Viele Grüße
 Jakob
 | 
|  | 
| Udontknow 
          Beiträge: 2596
 
 Win7
 D2006 WIN32, .NET (C#)
 
 | 
Verfasst: Mi 25.09.02 15:33 
 
Ich glaube, es ist nicht ganz klar, was du meinst.
 Meinst du break wie Zeilenumbruch in einem String, oder den Befehl "break"? Oder meinst du etwa einen Breakpoint? Wenn ja, bei welchem LineM setzt du ihn (du hast da schliesslich 2mal Linem:=...)?
 Was für einen Error bekommst du? Einen Kompilierungsfehler? Wie lautet der? Was für eine Fehlermeldung (Zitat!) kommt zur Laufzeit?
 
 Cu,
 Udontknow
 | 
|  | 
| JeanvanHees  
          Beiträge: 146
 
 win 2000
 D6 Pers
 
 | 
Verfasst: Mi 25.09.02 15:53 
 
Ich meine ein breakpoint...
 Entschuldige für die schlechte information von mir.
 Also ein breakpoint was ich setze funktioniert nicht    Der error geht viel zu weit zurück in meinen code um hier sehen zu lassen.
 Aber es geht nicht um die meldung, sondern um das breakpoint._________________ Cause even though I know things won't get any better, they can certainly never get much worse!
 | 
|  | 
| Udontknow 
          Beiträge: 2596
 
 Win7
 D2006 WIN32, .NET (C#)
 
 | 
Verfasst: Mi 25.09.02 15:56 
 
Aha. Wie lautet denn der Fehler? | 
|  | 
| Motzi 
          Beiträge: 2931
 
 XP Prof, Vista Business
 D6, D2k5-D2k7 je Prof
 
 | 
Verfasst: Mi 25.09.02 16:06 
 
Das Problem hatte ich auch schon mal, hab dann was im Netz darüber gefunden. Das Problem tritt auf wenn irgendwelche Sonderzeichen im Code sind die der Editor nicht anzeigt (kann vorkommen wenn man irgendeinen Code aus dem Browser per Copy&Paste einfügt). Das Problem lässt sich aber ganz einfach lösen:
 MS-DOS Eingabeaufforderung
 edit <Pfad zu deiner .pas-Datei>
 einfach nur speichern
 
 und die Sache ist erledigt!
 _________________ gringo pussy cats - eef i see you i will pull your tail out by eets roots!
 | 
|  | 
| JeanvanHees  
          Beiträge: 146
 
 win 2000
 D6 Pers
 
 | 
Verfasst: Do 26.09.02 07:34 
 
Ok, wirds mal versuchen...
Der error war übrigens..." is not a valid integer value.
 und das war weil ich einen integer aus den string holen muß und der string ist noch leer...aber das wird ich selbst schon finden...wenn ich wieder einen break setzen kann.
 _________________ Cause even though I know things won't get any better, they can certainly never get much worse!
 | 
|  | 
| JeanvanHees  
          Beiträge: 146
 
 win 2000
 D6 Pers
 
 | 
Verfasst: Do 26.09.02 07:50 
 
Habs versucht; hat nicht funktioniert    Ich glaube es hat etwas zu tun mit eine shell function die ich gebrauche.
 Ich hatte schon eher probleme damit das ich den shell nicht erst zu ende kann laufen lassen....Also hab ich gesucht und diese procedure aufs internet gefunden.
 												| 1:2:
 3:
 4:
 5:
 6:
 7:
 8:
 9:
 10:
 11:
 12:
 13:
 14:
 15:
 16:
 17:
 18:
 19:
 20:
 21:
 22:
 23:
 24:
 25:
 26:
 27:
 28:
 29:
 30:
 31:
 32:
 33:
 34:
 35:
 36:
 37:
 38:
 39:
 40:
 41:
 42:
 43:
 44:
 45:
 46:
 47:
 48:
 49:
 50:
 51:
 52:
 53:
 54:
 55:
 56:
 57:
 58:
 59:
 
 | ////////////////////////////////////////////////////////////////// AppName:  name (including path) of the application
 // AppArgs:  command line arguments
 // Wait:     0 = don't wait on application
 //           >0 = wait until application has finished (maximum in milliseconds)
 //           <0 = wait until application has started (maximum in milliseconds)
 // Hide:     True = application runs invisible in the background
 // ExitCode: exitcode of the application (only avaiable if Wait <> 0)
 //
 function STO_ShellExecute(const AppName, AppArgs: String; const Wait: Integer;
 const Hide: Boolean; var ExitCode: DWORD): Boolean;
 var
 myStartupInfo: TStartupInfo;
 myProcessInfo: TProcessInformation;
 sAppName: String;
 iWaitRes: Integer;
 begin
 // initialize the startupinfo
 FillChar(myStartupInfo, SizeOf(TStartupInfo), 0);
 myStartupInfo.cb := Sizeof(TStartupInfo);
 myStartupInfo.dwFlags := STARTF_USESHOWWINDOW;
 if Hide then // hide application
 myStartupInfo.wShowWindow := SW_HIDE
 else // show application
 myStartupInfo.wShowWindow := SW_SHOWNORMAL;
 
 // prepare applicationname
 sAppName := AppName;
 if (Length(sAppName) > 0) and (sAppName[1] <> '"') then
 sAppName := '"' + sAppName + '"';
 
 // start process
 ExitCode := 0;
 Result := CreateProcess(nil, PChar(sAppName + ' ' + AppArgs), nil, nil, False,
 NORMAL_PRIORITY_CLASS, nil, PChar(ExtractFilePath(AppName)),
 myStartupInfo, myProcessInfo);
 
 // could process be started ?
 if Result then
 begin
 // wait on process ?
 if (Wait <> 0) then
 begin
 if (Wait > 0) then // wait until process terminates
 iWaitRes := WaitForSingleObject(myProcessInfo.hProcess, Wait)
 else // wait until process has been started
 iWaitRes := WaitForInputIdle(myProcessInfo.hProcess, Abs(Wait));
 // timeout reached ?
 if iWaitRes = WAIT_TIMEOUT then
 begin
 Result := False;
 TerminateProcess(myProcessInfo.hProcess, 1);
 end;
 // getexitcode
 GetExitCodeProcess(myProcessInfo.hProcess, ExitCode);
 end;
 CloseHandle(myProcessInfo.hProcess);
 end;
 end;
 |  Nett; Es hat ja mich auch von viele probleme erlöst.
 Aber es gibt noch immer situationen die mich an die stabilität zweifeln lassen. Wie mit den breakpoint  _________________ Cause even though I know things won't get any better, they can certainly never get much worse!
 | 
|  | 
| JeanvanHees  
          Beiträge: 146
 
 win 2000
 D6 Pers
 
 | 
Verfasst: Do 26.09.02 08:10 
 
Ok, entschuldigung, den trick mit den edit hat doch funktioniert...
 Danke danke!!!    Aber wenn ihr etwas sieht in die procedur was ich nicht sehe wird das mir auch weiterhelfen weil ich wie gesagt manchmal probleme damit entdecke._________________ Cause even though I know things won't get any better, they can certainly never get much worse!
 | 
|  |