Kennst du MSEide+MSEgui nicht? In meinen Programmen muss ich zwischen Linux und Windows keine einzige Zeile ändern. Welche betriebssytemspezifische Dinge machen Probleme?compmgmt hat geschrieben:Das hat vor allem zwei Hauptgründe: Betriebssystemabhängige Bugs oder Dinge, die je nach Betriebssystem anders sind und die fehlende Zeit diese Dinge für Windows UND Linux zu entwickeln und zu testen.
LazPlan v0.7 (Beta) - Schaltplansoftware
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: LazPlan v0.6 (Beta) - Schaltplansoftware
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: LazPlan v0.6 (Beta) - Schaltplansoftware
Ja, kenne ich. In Lazarus muss ich dank ifdef Schaltern und portieren WINAPI Funktionen auch nichts wirklich ändern. Jedoch würde mse leider auch nur die grafischen Probleme beheben, da ich einige Dinge an Linux selbst unschön finde. Z.b. Kann ich nirgends auslesen (ohne riesige Abfragen) welches Standard-Terminal ich installiert habe bzw. wo sich die passende Binary befindet. Dann muss ich bei jedem Start eines Konsolenprogramms nach der Binary fragen. Das ist sehr unschön, obwohl die zuletzt eingegebene Binary direkt im Textfeld drin steht. Der Hauptgrund ist aber eben vorallem die Zeit auch alles entsprechend auf Linux zu testen. Außerdem ist es auch immer ein entsprechender Aufwand zu schauen, dass man möglichst keine Funktionen (nicht nur API, sondern auch Komponenten des Betriebssystems) nutzt um auf allen Plattformen die gleichen Funktionalitäten zu haben.
Alternativ habe ich mir überlegt und bin auch dran, LazPlan zusätzlich als Browser-Anwendung zu machen. So könnte man es (wahrscheinlich nicht mit allen Funktionen, aber allen wichtigen) auch unter allen anderen Systemen nutzen.
Zu guter letzt ist es allerdings auch eine persönliche Entscheidung, da ich Linux nur als Sekundärsystem nutze und LazPlan primär auch für mich eine Programmierübung und eine Erleichterung im Arbeitsalltag darstellen soll.
Alternativ habe ich mir überlegt und bin auch dran, LazPlan zusätzlich als Browser-Anwendung zu machen. So könnte man es (wahrscheinlich nicht mit allen Funktionen, aber allen wichtigen) auch unter allen anderen Systemen nutzen.
Zu guter letzt ist es allerdings auch eine persönliche Entscheidung, da ich Linux nur als Sekundärsystem nutze und LazPlan primär auch für mich eine Programmierübung und eine Erleichterung im Arbeitsalltag darstellen soll.
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: LazPlan v0.6 (Beta) - Schaltplansoftware
Das verstehe ich nicht. Was verstehst du unter "Standard-Terminal"? Warum musst du beim Start eines Konsolenprogrammes nach der Binary fragen? MSEgui hat übrigens die Komponente "TTerminal" um ein Terminal-Fenster innerhalb der Applikation zur Verfügung zu stellen. Beispiele sind das Terminal-Fenster in MSEide und das git-Konsolenfenster in MSEgit.compmgmt hat geschrieben:JZ.b. Kann ich nirgends auslesen (ohne riesige Abfragen) welches Standard-Terminal ich installiert habe bzw. wo sich die passende Binary befindet. Dann muss ich bei jedem Start eines Konsolenprogramms nach der Binary fragen. Das ist sehr unschön, obwohl die zuletzt eingegebene Binary direkt im Textfeld drin steht.
Wie bereits gesagt, MSEgui nimmt dir diese Sorgen ab.Der Hauptgrund ist aber eben vorallem die Zeit auch alles entsprechend auf Linux zu testen. Außerdem ist es auch immer ein entsprechender Aufwand zu schauen, dass man möglichst keine Funktionen (nicht nur API, sondern auch Komponenten des Betriebssystems) nutzt um auf allen Plattformen die gleichen Funktionalitäten zu haben.
Browser-Anwendungen sind meiner Meinung nach eher ein Notbehelf und für CAD-Anwendungen zwangsläufig weniger leistungsfähig.Alternativ habe ich mir überlegt und bin auch dran, LazPlan zusätzlich als Browser-Anwendung zu machen. So könnte man es (wahrscheinlich nicht mit allen Funktionen, aber allen wichtigen) auch unter allen anderen Systemen nutzen.
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: LazPlan v0.6 (Beta) - Schaltplansoftware
Das TTerminal klingt tatsächlich sehr gut. Jedoch meine ich bei dem Punkt Betriebssystemabhängige Komponenten, Dinge wie COM, OLE und andere Betriebssystemabhängige Komponenten und Schnittstellen.
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: LazPlan v0.6 (Beta) - Schaltplansoftware
Aha, wenn du COM und OLE verwendest, ist es natürlich "Windows only".
Aber ein Schaltplanprogramm das COM und OLE voraussetzt???
Aber ein Schaltplanprogramm das COM und OLE voraussetzt???
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: LazPlan v0.6 (Beta) - Schaltplansoftware
Das war nur ein Beispiel. OLE könnte ich beispielsweise dafür einsetzen um mittels Excel eine Stückliste mit Preisen und ähnliches zu erstellen und diese mit LazPlan zu verknüpfen. Voraussetzung wäre da natürlich MS Office. Deswegen würde ich solch ein Feature als Optional deklarieren. Ob ich solch ein Feature mittels OLE implementieren würde, mir selbst so etwas schreibe oder es überhaupt gar nicht einbaue, muss ich noch schauen.mse hat geschrieben:Aha, wenn du COM und OLE verwendest, ist es natürlich "Windows only".
Aber ein Schaltplanprogramm das COM und OLE voraussetzt???
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: LazPlan v0.6 (Beta) - Schaltplansoftware
Dafür gibt es eine Komponente "fpspreadsheet" mit dieser kann du direkt in deiner Anwendung eine Execel-Tabelle öffnen.OLE könnte ich beispielsweise dafür einsetzen um mittels Excel eine Stückliste mit Preisen und ähnliches zu erstellen und diese mit LazPlan zu verknüpfen.
Genau, dies ist etwas, da nervt, immer diese Abhängigkeit von M$.Voraussetzung wäre da natürlich MS Office.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 2013
- Registriert: Do 16. Okt 2008, 10:22
- OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
- CPU-Target: x86,x64,ARM
Re: LazPlan v0.6 (Beta) - Schaltplansoftware
Letztes Jahr habe ich ein entsprechendes Programm für KiCad gemacht:compmgmt hat geschrieben:Das war nur ein Beispiel. OLE könnte ich beispielsweise dafür einsetzen um mittels Excel eine Stückliste mit Preisen und ähnliches zu erstellen und diese mit LazPlan zu verknüpfen. Voraussetzung wäre da natürlich MS Office. Deswegen würde ich solch ein Feature als Optional deklarieren. Ob ich solch ein Feature mittels OLE implementieren würde, mir selbst so etwas schreibe oder es überhaupt gar nicht einbaue, muss ich noch schauen.
https://gitlab.com/mseide-msegui/mseuni ... SEkicadBOM
https://gitlab.com/mseide-msegui/mseuni ... ools/kicad
Binary:
https://sourceforge.net/projects/mseuni ... ekicadbom/
Ohne OLE.

-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: LazPlan v0.6 (Beta) - Schaltplansoftware
Ah, Vielen Dank. Werde ich mir definitiv mal anschauen.mse hat geschrieben:Letztes Jahr habe ich ein entsprechendes Programm für KiCad gemacht:
https://gitlab.com/mseide-msegui/mseuni ... SEkicadBOM
https://gitlab.com/mseide-msegui/mseuni ... ools/kicad
Binary:
https://sourceforge.net/projects/mseuni ... ekicadbom/
Ohne OLE.
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: LazPlan v0.7 (Beta) - Schaltplansoftware
So, nun sind wir bei der Version 0.7 angelangt. Man kann in LazPlan jetzt Schaltpläne ausdrucken. Diese werden auf die volle Größe der Seite skaliert. Man kann bisher nur folgende Dinge beim Ausdrucken einstellen:
- Drucker
- Hoch-/Querformat
- Anzahl der Ausdrucke
Außerdem habe ich eine Vorschau eingebaut. Seitenverhältnis ist 1/sqrt(2).
Ich hoffe das ganze funktioniert bei allen Druckern, sollte es aber eigentlich. Wenn es nicht funktioniert oder ihr Ideen habt, einfach Bescheid sagen.
- Drucker
- Hoch-/Querformat
- Anzahl der Ausdrucke
Außerdem habe ich eine Vorschau eingebaut. Seitenverhältnis ist 1/sqrt(2).
Ich hoffe das ganze funktioniert bei allen Druckern, sollte es aber eigentlich. Wenn es nicht funktioniert oder ihr Ideen habt, einfach Bescheid sagen.
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
-
- Beiträge: 351
- Registriert: Mi 25. Nov 2015, 17:06
- OS, Lazarus, FPC: Win 10 Pro | Lazarus 1.8.2 | FPC 3.0.4
- CPU-Target: i386 + x86_64
- Wohnort: in der Nähe von Stuttgart
- Kontaktdaten:
Re: LazPlan v0.7 (Beta) - Schaltplansoftware
Update nach langer Zeit
Bereits vor zwei Wochen habe ich mich mal wieder an die Entwicklung gesetzt und das komplette Übersetzungssystem neu geschrieben und mit der Verison 0.7.1.0 veröffentlicht. An sich hat sich aber für den Benutzer nicht viel geändert.
Bereits vor zwei Wochen habe ich mich mal wieder an die Entwicklung gesetzt und das komplette Übersetzungssystem neu geschrieben und mit der Verison 0.7.1.0 veröffentlicht. An sich hat sich aber für den Benutzer nicht viel geändert.
Code: Alles auswählen
InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);