TForm - Aufbau und Darstellung

Rund um die LCL und andere Komponenten
Benutzeravatar
Lincoln Six Echo
Beiträge: 138
Registriert: Di 26. Aug 2014, 16:42
OS, Lazarus, FPC: Win10, Debian
CPU-Target: I7/I9/Q9650/u.a.
Wohnort: Hamburg

Re: TForm - Aufbau und Darstellung

Beitrag von Lincoln Six Echo »

Danke für den Tipp. Ich habe herausbekommen das es an den Zeichenvorgängen in den Controls auf dem jeweiligen TForm liegt.

Denn ich habe diesen Effekt auch bei Dialogen die im Hauptprogramm laufen. Da gibt es z.B. eine Liste die JPGs anzeigt und dazu reichlich Text.. Die JPGs sind 250 x 175 und davon sind etwa 50 in der Liste. Diese Einträge bekommt die Liste von einem sog. Manager, das ist ein TComponent. Die Liste hat eine property ListManager.

Wird nun eine ListManager verbunden sendet die ListView eine Anfrage und der Manager liefert die entsprechenden auf dem Laufwerk gefundenen Einträge an die ListView. Das passiert aktuell im OnCreate-Ereignis der Dialog-Form.

Code: Alles auswählen

Dialogform.OnCreate(Sender : TObject)
begin
  PluginListView.Manager := PluginManager;
  Color := clBlack;
end;
Diese Zuweisung und der damit verbundene Code verhindern offenbar das (Hintergrund-) Zeichnen im TForm und man sieht kurz die weiße Fläche.

Benutzeravatar
Lincoln Six Echo
Beiträge: 138
Registriert: Di 26. Aug 2014, 16:42
OS, Lazarus, FPC: Win10, Debian
CPU-Target: I7/I9/Q9650/u.a.
Wohnort: Hamburg

Re: TForm - Aufbau und Darstellung

Beitrag von Lincoln Six Echo »

Und da ist für den Dialog die Lösung. Erst das TForm zeichnen und dann die Zuweisung an die ListView:

Code: Alles auswählen

Dialogform.Create(Sender : TObject);
begin
  Flag := true;
  Color := clBlack;
end;

DialogForm.Active(Sender : TObject);
begin
  if Flag then
  begin
    Flag := false;
    Refresh;
    PluginListView.PluginManager := PluginManager;
  end;
end;
Der "Weiß-Effekt" tritt nicht mehr auf.

Bei den Plugins funktioniert das definitiv nicht aber ich denke die Ursache ist die gleiche.

Das ist auch übrigens der einzige Unterschied zu der C++ Version des Kollegen, der nimmt alle Aktionen der Controls erst im Activate oder Show Ereignis vor, nicht im Create.

Benutzeravatar
AlterPascaler
Beiträge: 17
Registriert: Mo 26. Jun 2023, 18:56
OS, Lazarus, FPC: Linux, Lazarus, Free Pascal
CPU-Target: xxBit
Wohnort: Deutschland, NRW

Re: TForm - Aufbau und Darstellung

Beitrag von AlterPascaler »

Ich kann dir zwar nicht helfen, aber RESPEKT!! Die Form sieht super aus.

Benutzeravatar
Lincoln Six Echo
Beiträge: 138
Registriert: Di 26. Aug 2014, 16:42
OS, Lazarus, FPC: Win10, Debian
CPU-Target: I7/I9/Q9650/u.a.
Wohnort: Hamburg

Re: TForm - Aufbau und Darstellung

Beitrag von Lincoln Six Echo »

Du meinst das Plugin ?

Das ist eher ein älteres Design und ca 3 Jahre alt.

Die aktuellen sehen noch viel besser aus, sind im Retro Design mit Analog-VU-Metern und uvm.

Die Audio Software wird ca Anfang September veröffentlicht.

Benutzeravatar
AlterPascaler
Beiträge: 17
Registriert: Mo 26. Jun 2023, 18:56
OS, Lazarus, FPC: Linux, Lazarus, Free Pascal
CPU-Target: xxBit
Wohnort: Deutschland, NRW

Re: TForm - Aufbau und Darstellung

Beitrag von AlterPascaler »

Lincoln Six Echo hat geschrieben:
Di 1. Aug 2023, 12:22
Du meinst das Plugin ?
ja, das was in der DLL steckt.
Wenn du fertigt bist, teil uns das doch bitte mit.

Ist das Tool frei oder kostenpflichtig?

Benutzeravatar
Lincoln Six Echo
Beiträge: 138
Registriert: Di 26. Aug 2014, 16:42
OS, Lazarus, FPC: Win10, Debian
CPU-Target: I7/I9/Q9650/u.a.
Wohnort: Hamburg

Re: TForm - Aufbau und Darstellung

Beitrag von Lincoln Six Echo »

Es ist eine ganze Gruppe von Apps und Plugins. Da wird sowohl Freeware als auch kostenpflichtiges dabei sein.

Benutzeravatar
Lincoln Six Echo
Beiträge: 138
Registriert: Di 26. Aug 2014, 16:42
OS, Lazarus, FPC: Win10, Debian
CPU-Target: I7/I9/Q9650/u.a.
Wohnort: Hamburg

Re: TForm - Aufbau und Darstellung

Beitrag von Lincoln Six Echo »

Vielleicht ist das für einige hier interessant:

Ich habe eine eigene Plugin-Architektur für die Apps entwickelt. Und es gibt ein SDK dazu. Es ist in Lazarus, also Object Pascal gebaut und daher für Lazarus / Delphi Entwickler relativ einfach Audio Plugins zu bauen. Und mit C++ geht es natürlich auch.

Antworten