Hallo,
nach dem ich komplett auf Linux umgestellt habe, fehlte mir Atmel Studio.
Habe also das Programm für Linux neu nachgebaut. Die einfachste Lösung, um die Chips zu brennen, schien mir zu sein, die Parameter für AVRDUDE zusammen zu bauen und AVRDUDE dann einfach zu starten.
Um Prozesse zu starten wird allgemein TProcess empfohlen.
Die gute Nachricht, AVRDUDE startet, erkennt die Parameter, brennt den Kontroller und das Programm wird auch richtig ausgeführt.
Die schlechte Nachricht, wenn ich AVRDUDE in der Konsole ausführe bekomme ich Informationen, wenn und wo etwas gehakt hat.
Mit TProcess soll man angeblich über TProcess.Output die Ausgaben des Programms abfangen können.
TProcess.Options = [poWaitOnExit, poUsePipes];
Es kommen aber keine Informationen zurück.
Was kann ich anders machen ?
[Gelöst] ExecuteProcess Ausgaben des neuen Prozesses fehlen
-
- Beiträge: 130
- Registriert: Di 26. Jul 2011, 19:58
- OS, Lazarus, FPC: Deepin 20.2; Lazarus 2.0.0 + dfsg-2
- CPU-Target: 64Bit
[Gelöst] ExecuteProcess Ausgaben des neuen Prozesses fehlen
Zuletzt geändert von aro am Mo 9. Nov 2020, 19:51, insgesamt 1-mal geändert.
-
- Beiträge: 130
- Registriert: Di 26. Jul 2011, 19:58
- OS, Lazarus, FPC: Deepin 20.2; Lazarus 2.0.0 + dfsg-2
- CPU-Target: 64Bit
Re: ExecuteProcess Ausgaben des neuen Prozesses fehlen
Hallo,
genau das ist mein Problem.
ich verwende :
AStringList := TStringList.Create;
AProcess.Options := AProcess.Options + [poWaitOnExit, poUsePipes];
AProcess.Execute;
AStringList.LoadFromStream(AProcess.Output);
AStringList.SaveToFile('/home/aro/xx.txt');
Das Programm wird richtig ausgeführt, aber es kommt offensichtlich nichts in AProcess.Output an und ich erhalte deshalb eine leere Datei.
genau das ist mein Problem.
ich verwende :
AStringList := TStringList.Create;
AProcess.Options := AProcess.Options + [poWaitOnExit, poUsePipes];
AProcess.Execute;
AStringList.LoadFromStream(AProcess.Output);
AStringList.SaveToFile('/home/aro/xx.txt');
Das Programm wird richtig ausgeführt, aber es kommt offensichtlich nichts in AProcess.Output an und ich erhalte deshalb eine leere Datei.
Re: ExecuteProcess Ausgaben des neuen Prozesses fehlen
Auch mit der Option " poStdErrToOutPut", wie ich oben geschrieben hatte?
-
- Beiträge: 130
- Registriert: Di 26. Jul 2011, 19:58
- OS, Lazarus, FPC: Deepin 20.2; Lazarus 2.0.0 + dfsg-2
- CPU-Target: 64Bit
Re: ExecuteProcess Ausgaben des neuen Prozesses fehlen
Danke jetzt klappt es wie gewollt.
-
- Beiträge: 582
- Registriert: Sa 22. Okt 2016, 23:12
- OS, Lazarus, FPC: W10, L 3.8
- CPU-Target: 32+64bit
- Wohnort: Dresden
Re: [Gelöst] ExecuteProcess Ausgaben des neuen Prozesses fehlen
Auch interessant für dich: viewtopic.php?f=29&t=11842
Übersicht: https://github.com/sechshelme/Lazarus-Embedded
Package: https://github.com/sechshelme/Lazarus-E ... UI_Package
Übersicht: https://github.com/sechshelme/Lazarus-Embedded
Package: https://github.com/sechshelme/Lazarus-E ... UI_Package
LG Maik
Windows 10,
- Lazarus 3.8 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)
Windows 10,
- Lazarus 3.8 (stable) + fpc 3.2.2 (stable)
- Lazarus 4.99 (trunk) + fpc 3.3.1 (main/trunk)