LazPlan v0.7 (Beta) - Schaltplansoftware

Vorstellungen von Programmen, welche mit Lazarus erstellt wurden.
Antworten
Mathias
Beiträge: 6969
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: LazPlan v0.0.2.0 - Schaltplansoftware

Beitrag von Mathias »

Die aktuelle Version lässt sich nicht mehr kompilieren.

Code: Alles auswählen

Projekt kompilieren, Modus: Release, Ziel: /home/tux/Schreibtisch/Schaltplan/source/bin/LazPlan: Exit code 256, Fehler: 1
errors.pas(8,20) Fatal: Circular unit reference between errors and sysutils
Ist dies nur bei mir so ?

PS: Unter Wine geht es.
PSS: Auch die Windows Version hat einen Fehler.
Am Anfang kommt die Diode, dies die wäre noch gut. Wähle ich anliessend nochmals Diode, dann verdoppelt sich die Grösse der TListView.
Die obere Hälfte ist dabei total leer und bei der untern Hälfte kommt nur noch die Beschriftung.
Ich denke der Fehler liegt irgendwo dort:

Code: Alles auswählen

      li := LV_Objects.Items.Add;
      li.Caption := ExtractFileNameOnly(sl[i]);
      li.ImageIndex := i;
      li := nil;   
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

compmgmt
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.0.2.0 - Schaltplansoftware

Beitrag von compmgmt »

Mathias hat geschrieben:Die aktuelle Version lässt sich nicht mehr kompilieren.

Code: Alles auswählen

Projekt kompilieren, Modus: Release, Ziel: /home/tux/Schreibtisch/Schaltplan/source/bin/LazPlan: Exit code 256, Fehler: 1
errors.pas(8,20) Fatal: Circular unit reference between errors and sysutils
Ist dies nur bei mir so ?
Scheint ein Problem unter Linux zu sein. Ich hab "uses sysutils" in "error.pas" in den implementation-Teil gerückt. Jetzt sollte es funktionieren.
Mathias hat geschrieben:PS: Unter Wine geht es.
PSS: Auch die Windows Version hat einen Fehler.
Am Anfang kommt die Diode, dies die wäre noch gut. Wähle ich anliessend nochmals Diode, dann verdoppelt sich die Grösse der TListView.
Die obere Hälfte ist dabei total leer und bei der untern Hälfte kommt nur noch die Beschriftung.
Ich denke der Fehler liegt irgendwo dort:

Code: Alles auswählen

      li := LV_Objects.Items.Add;
      li.Caption := ExtractFileNameOnly(sl[i]);
      li.ImageIndex := i;
      li := nil;   
Also bei mir unter Win10 und Win7 geht alles, scheint evtl. an Wine zu liegen.

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

siro
Beiträge: 764
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: LazPlan v0.0.2.1 - Schaltplansoftware

Beitrag von siro »

Schönen guten Morgen,
ich hab grad die aktuelle Version propiert.

Ein sehr merkwürdiges Phänomen:

Wenn ich die Zip Datei entpacke und die .exe starte erscheinen meine Symbole auch ALLE richtig.

Wenn ich das Projekt selbst compiliere, was problemlos läuft, und dann die .exe starte, egal ob aus der IDE oder direkt aus dem Windows Explorer,
dann gehen die Symbole nicht mehr. Also passiert das erst durch die Neucompilierung warum auch immer.... :shock:

Ansonsten gefällt mir die Darstellung der Verknüpfungspunkte an den Bauteilen sehr gut.
VIEL besser mit den Leitungen jetzt, als mit den Bitmaps.
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

compmgmt
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.0.2.1 - Schaltplansoftware

Beitrag von compmgmt »

siro hat geschrieben:Ein sehr merkwürdiges Phänomen:

Wenn ich die Zip Datei entpacke und die .exe starte erscheinen meine Symbole auch ALLE richtig.

Wenn ich das Projekt selbst compiliere, was problemlos läuft, und dann die .exe starte, egal ob aus der IDE oder direkt aus dem Windows Explorer,
dann gehen die Symbole nicht mehr. Also passiert das erst durch die Neucompilierung warum auch immer.... :shock:
Das ist wirklich extrem merkwürdig :shock:
Ich habs grade auch mal als 64-Bit-Version kompiliert (was du glaube ich auch machst), aber es hat auch einwandfrei funktioniert.

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

Mathias
Beiträge: 6969
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: LazPlan v0.0.2.0 - Schaltplansoftware

Beitrag von Mathias »

compmgmt hat geschrieben:
Mathias hat geschrieben:Die aktuelle Version lässt sich nicht mehr kompilieren.

Code: Alles auswählen

Projekt kompilieren, Modus: Release, Ziel: /home/tux/Schreibtisch/Schaltplan/source/bin/LazPlan: Exit code 256, Fehler: 1
errors.pas(8,20) Fatal: Circular unit reference between errors and sysutils
Ist dies nur bei mir so ?
Scheint ein Problem unter Linux zu sein. Ich hab "uses sysutils" in "error.pas" in den implementation-Teil gerückt. Jetzt sollte es funktionieren.
Ich habe die Ursache gefunden, eine Unit "errors" gibt es im Basis-Paket von Lazarus schon.

Ein Ausschnitt aus der Unit "sysutils"

Code: Alles auswählen

uses
{$IFDEF LINUX}linux,{$ENDIF}
{$IFDEF FreeBSD}freebsd,{$ENDIF}
  Unix,errors,sysconst,Unixtype;    
Am besten gibst du deiner Unit einen anderen Namen und das Problem ist weg. Der Vorschlag von dir würde auch Funktionieren, aber dies könnte zu Problemen führen.
Also bei mir unter Win10 und Win7 geht alles, scheint evtl. an Wine zu liegen.
Es funktioniert wohl, aber ich denke das doch etwas kleines unsauber ist. Ausser Wine hat einen Bug.

PS: Ich habe es noch mit WinXP und Win10 in der VB getestet, auch dort gibt es bei mir Probleme.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

compmgmt
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.0.2.0 - Schaltplansoftware

Beitrag von compmgmt »

Mathias hat geschrieben:
compmgmt hat geschrieben:
Mathias hat geschrieben:Die aktuelle Version lässt sich nicht mehr kompilieren.

Code: Alles auswählen

Projekt kompilieren, Modus: Release, Ziel: /home/tux/Schreibtisch/Schaltplan/source/bin/LazPlan: Exit code 256, Fehler: 1
errors.pas(8,20) Fatal: Circular unit reference between errors and sysutils
Ist dies nur bei mir so ?
Scheint ein Problem unter Linux zu sein. Ich hab "uses sysutils" in "error.pas" in den implementation-Teil gerückt. Jetzt sollte es funktionieren.
Ich habe die Ursache gefunden, eine Unit "errors" gibt es im Basis-Paket von Lazarus schon.

Ein Ausschnitt aus der Unit "sysutils"

Code: Alles auswählen

uses
{$IFDEF LINUX}linux,{$ENDIF}
{$IFDEF FreeBSD}freebsd,{$ENDIF}
  Unix,errors,sysconst,Unixtype;    
Am besten gibst du deiner Unit einen anderen Namen und das Problem ist weg. Der Vorschlag von dir würde auch Funktionieren, aber dies könnte zu Problemen führen.
So was hab ich heute Mittag auch schon vermutet gehabt. Ich wusste nicht, dass es die schon gibt, weil es unter Windows keine Probleme gab. Ist jetzt geändert (Version 0.0.2.2).
Mathias hat geschrieben:
Also bei mir unter Win10 und Win7 geht alles, scheint evtl. an Wine zu liegen.
Es funktioniert wohl, aber ich denke das doch etwas kleines unsauber ist. Ausser Wine hat einen Bug.

PS: Ich habe es noch mit WinXP und Win10 in der VB getestet, auch dort gibt es bei mir Probleme.
Ich hab es jetzt unter Win XP, 7 und 10 getestet und alles hat perfekt funktioniert. Was genau ist denn der Fehler? Kommen irgendwelche Fehlermeldungen? Kannst du evtl ein paar Screenshots senden? Mein Problem ist eben, dass ich den Fehler nicht reproduzieren kann :|

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

Mathias
Beiträge: 6969
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: LazPlan v0.0.2.2 - Schaltplansoftware

Beitrag von Mathias »

So was hab ich heute Mittag auch schon vermutet gehabt. Ich wusste nicht, dass es die schon gibt, weil es unter Windows keine Probleme gab.
Unter Windows gibt es diese Unit nicht.
Was genau ist denn der Fehler? Kommen irgendwelche Fehlermeldungen? Kannst du evtl ein paar Screenshots senden? Mein Problem ist eben, dass ich den Fehler nicht reproduzieren kann
Bei starten kommt es richtig wie im zweiten Bild.
Wähle ich anschliessend in der ComboBox nochmals Transformator, kommt es wie im ersten Bild.
Das selbe, wen ich eine andere Bauteilgruppe wähle.

Klicke ich dann auf "Schatsymbol erstellen", erscheint im Panel rechts aber das Symbol.
Dateianhänge
Bildschirmfoto vom 2017-07-28 20-29-01.png
Bildschirmfoto vom 2017-07-28 20-29-01.png (9.16 KiB) 3414 mal betrachtet
Bildschirmfoto vom 2017-07-28 20-28-50.png
Bildschirmfoto vom 2017-07-28 20-28-50.png (3.36 KiB) 3414 mal betrachtet
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

siro
Beiträge: 764
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: LazPlan v0.0.2.2 - Schaltplansoftware

Beitrag von siro »

Das scheint bei Mathias genauso zu sein wie bei mir.
@Mathias: versuch doch mal die originale .exe aus dem Zip Archiv zu starten, dann läuft es bei mir nämlich.
Hab ich selbst compiliert geht es nicht mehr richtig.
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

compmgmt
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.0.2.2 - Schaltplansoftware

Beitrag von compmgmt »

@Mathias: Sehr sehr merkwürdig, da beim Laden des Programms, als auch beim Ändern der Kategorie, der selbe EventHandler aufgerufen werden. Kannst du mal bei dir mit dem Debugger durch "CB_CategoriesChange" gehen (natürlich die Compilereinstellungen erst auf "Default" oder "Debug" stellen) und mal schauen was an dieser Stelle nach ein paar Durchgängen für "i" drin steht:

Code: Alles auswählen

  ...
  li := LV_Objects.Items.Add;
  li.Caption := ExtractFileNameOnly(sl[i]);
  li.ImageIndex := i; // Hier prüfen
  li := nil;
  ...
edit: Also "i" sollte eigentlich für jedes Objekt in der Liste eins hochzählen.
Zuletzt geändert von compmgmt am Fr 28. Jul 2017, 21:09, insgesamt 1-mal geändert.

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

compmgmt
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.0.2.2 - Schaltplansoftware

Beitrag von compmgmt »

siro hat geschrieben:Hab ich selbst compiliert geht es nicht mehr richtig.
Aber das ist ja nicht die Idee dahinter. Das heißt entweder ihr oder ich haben unterschiedliche Compilereinstellungen. Ich vermute mal, dass es daran liegen könnte, dass ich noch Lazarus Version 1.6.0 und FPC 3.0.0 nutze und ihr vermutlich neuere ;)

edit: Ich installiere mir jetzt mal die 1.6.4 und schau mal was passiert

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

siro
Beiträge: 764
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: LazPlan v0.0.2.2 - Schaltplansoftware

Beitrag von siro »

Ja, ich habe 1.6.4
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

Mathias
Beiträge: 6969
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: LazPlan v0.0.2.2 - Schaltplansoftware

Beitrag von Mathias »

Ich habe unterdessen auch ein bisschen mit der ListView gepastelt, das Miniprogramm im Anhang hat das gleiche Problem wie dein Programm.
Mann kann auch gut beobachten, wie ListView immer länger wird, je mehr man auf die Buttons klickt.

Unter Linux läuft es fehlerfrei.

Ich denke bald, die ist ein Bug in der ListView bei der Windows-Version.
Dateianhänge
ListView.tar.gz
(128.4 KiB) 223-mal heruntergeladen
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

siro
Beiträge: 764
Registriert: Di 23. Aug 2016, 14:25
OS, Lazarus, FPC: Windows 11
CPU-Target: 64Bit
Wohnort: Berlin

Re: LazPlan v0.0.2.2 - Schaltplansoftware

Beitrag von siro »

Bei Mathias seinem Beispiel:
habe ich 17 bzw, 13 Einträge und da ändert sich auch nichts, egal wie oft ich die Buttons betätige.
Windows 8.1 Lazarus 1.6.4
Zuletzt geändert von siro am Fr 28. Jul 2017, 21:26, insgesamt 2-mal geändert.
Grüße von Siro
Bevor ich "C" ertragen muß, nehm ich lieber Lazarus...

compmgmt
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.0.2.2 - Schaltplansoftware

Beitrag von compmgmt »

Mathias hat geschrieben:Ich habe unterdessen auch ein bisschen mit der ListView gepastelt, das Miniprogramm im Anhang hat das gleiche Problem wie dein Programm.
Mann kann auch gut beobachten, wie ListView immer länger wird, je mehr man auf die Buttons klickt.

Unter Linux läuft es fehlerfrei.

Ich denke bald, die ist ein Bug in der ListView bei der Windows-Version.
So, hab es ausprobiert. Dein Programm hat sowohl unter 1.6.0, als auch unter 1.6.4 wunderbar funktioniert. LazPlan hat allerdings nur mit der 1.6.0 gut funktioniert, bei der 1.6.4 hatte ich das gleiche Phänomen wie siro. Scheint also tatsächlich ein Bug zu sein oder irgendwas wurde geändert und ich habe es nicht zu 100% sauber implementiert. Aber ich schau mir nochmal den Code von deinem Beispiel Programm an, der wirkt mir nämlich sauberer.

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

compmgmt
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.0.2.2 - Schaltplansoftware

Beitrag von compmgmt »

@Mathias: Aha, hier scheint mein Fehler zu sein. Ich hab kein TImageList.Draw in LazPlan:

Code: Alles auswählen

  for i := 0 to ImageList1.Count - 1 do begin
    ImageList1.Draw(Canvas, i * 16, 0, i);
  end;

Code: Alles auswählen

InitiateSystemShutdownExA(nil, nil, 0, true, false, $0005000F);
Have fun with this snippet ;)

Antworten