LAZ 3.0 FPC 3.2.2 .lfm öffnet in Codeansicht [Fixed]
LAZ 3.0 FPC 3.2.2 .lfm öffnet in Codeansicht [Fixed]
Hi,
ich habe unter Linux mal die neue LAZ 3.0 FPC 3.2.2 mit fpcupdeluxe installiert.
Soweit alles ok.
Nun öffnen sich aber einige Fensteransichten als Codeansicht ohne irgendwelche Fehlerangaben! Mit der vorherigen Version 2.0.12 klappt alles.
Hat dazu jemand eine Idee?
ich habe unter Linux mal die neue LAZ 3.0 FPC 3.2.2 mit fpcupdeluxe installiert.
Soweit alles ok.
Nun öffnen sich aber einige Fensteransichten als Codeansicht ohne irgendwelche Fehlerangaben! Mit der vorherigen Version 2.0.12 klappt alles.
Hat dazu jemand eine Idee?
Zuletzt geändert von six1 am Sa 2. Mär 2024, 09:55, insgesamt 4-mal geändert.
Gruß, Michael
- Niesi
- Lazarusforum e. V.
- Beiträge: 338
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon (Windows wenn notwendig), Lazarus 3.0 FPC 3.3.1
Re: LAZ 3.0 FPC 3.2.2 .lfm öffnet im Editor
Wie meinst Du das? Was für Fensteransichten? Ein Screenshot könnte helfen ...
(Auch ich habe u. a. diese Kombination unter Linux Mint installiert, aber ohne Probleme.)
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...
Re: LAZ 3.0 FPC 3.2.2 .lfm öffnet im Editor
Naja, die lfm (Formdatei) wird als Code in einem Editorfenster angezeigt und nicht im Designfenster...
Das Projekt wird übrigens einwandfrei kompiliert!
Das Projekt wird übrigens einwandfrei kompiliert!
Gruß, Michael
- Niesi
- Lazarusforum e. V.
- Beiträge: 338
- Registriert: So 26. Jun 2016, 19:44
- OS, Lazarus, FPC: Linux Mint Cinnamon (Windows wenn notwendig), Lazarus 3.0 FPC 3.3.1
Re: LAZ 3.0 FPC 3.2.2 .lfm öffnet im Editor
Also ich habe da überhaupt kein Problem mit, bei mir funktioniert das alles wie es soll. Meistens arbeite ich mit Fpc 3.3.1 / Laz 3.0. Wie geschrieben: Linux Mint.
Mein Sohn hat Manjaro und stable / stable, da gibt es auch keine Probleme.
Sorry, keine Ahnung, was da bei Dir schief läuft ...
Mein Sohn hat Manjaro und stable / stable, da gibt es auch keine Probleme.
Sorry, keine Ahnung, was da bei Dir schief läuft ...
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...
Re: LAZ 3.0 FPC 3.2.2 .lfm öffnet in Codeansicht
Hast du bei diesen Formularen vielleicht einmal in der IDE die lfm-Datei geöffnet (Rechts-Klick auf Formular > "Quelltext .lfm anzeigen")? Das zeigt die Formulare genauso an wie in deinem Screenshot. Und solange du diese Fenster nicht schließt, kommten sie auch beim nächsten Start der IDE wieder.
Ich wüsste nicht, dass es eine andere Einstellung gibt, den lfm-Inhalt als Text angezeigt zu bekommen. Dennoch: erzeuge mal ein neues Formular, klicke irgendwelche Komponenten drauf und speichere alles ab. Wenn du nun das Formular neu lädst, müsste es "normal" im Designer erscheiden, nicht im Editor.
Zuletzt geändert von wp_xyz am Sa 17. Feb 2024, 19:18, insgesamt 1-mal geändert.
Re: LAZ 3.0 FPC 3.2.2 .lfm öffnet in Codeansicht
Es betrifft nur einige der Fenster in dem Projekt! Andere öffnen anstandslos.
Ich öffne eine .pas Datei und klicke auf Code/Design Umschaltung und bei manchen öffnet sich einfach die Codeansicht...
Ich öffne eine .pas Datei und klicke auf Code/Design Umschaltung und bei manchen öffnet sich einfach die Codeansicht...
Gruß, Michael
Re: LAZ 3.0 FPC 3.2.2 .lfm öffnet in Codeansicht
Alsoooo... nach Deinstallieren aller Zusatzkomponenten und neuem Installieren, Schritt für Schritt, habe ich den Fehler gefunden.
Es liegt an der Komponente "Mplayer"
Ganz am Ende der Datei Mplayerctrl.pas habe ich folgendes geändert:
Damit lies sich die Komponente zwar fehlerfrei kompilieren, aber danach startete Lazarus mit dem Aufruf: "lazarus" schon mal nicht mehr, sondern quittiert mit Accessviolation den Dienst. Mit Startlazarus startet Lazarus aber.
Ist die Komponente installiert, werden alle Forms mit Bezug auf MPlayer nur als Code im Editor angezeigt!
Sehr ominös das Ganze....
https://forum.lazarus.freepascal.org/in ... #msg507117
Es liegt an der Komponente "Mplayer"
Ganz am Ende der Datei Mplayerctrl.pas habe ich folgendes geändert:
Code: Alles auswählen
class function TWSMPlayerControl.CreateHandle(const AWinControl: TWinControl;
const AParams: TCreateParams): HWND;
var
NewWidget: PGtkWidget;
WidgetInfo: PWidgetInfo;
Allocation: TGTKAllocation;
begin
if csDesigning in AWinControl.ComponentState then
Result:=inherited CreateHandle(AWinControl,AParams)
else begin
NewWidget:=gtk_event_box_new;
// WidgetInfo := GetWidgetInfo(NewWidget,true); // destroyed in MPLayerWidgetDestroyCB
WidgetInfo := GetWidgetInfo(NewWidget); // destroyed in MPLayerWidgetDestroyCB
^^^^^^^^ ",true" entfernt
Ist die Komponente installiert, werden alle Forms mit Bezug auf MPlayer nur als Code im Editor angezeigt!
Sehr ominös das Ganze....
https://forum.lazarus.freepascal.org/in ... #msg507117
Gruß, Michael
- fliegermichl
- Lazarusforum e. V.
- Beiträge: 1436
- Registriert: Do 9. Jun 2011, 09:42
- OS, Lazarus, FPC: Lazarus Fixes FPC Stable
- CPU-Target: 32/64Bit
- Wohnort: Echzell
Re: LAZ 3.0 FPC 3.2.2 .lfm öffnet in Codeansicht [Fehler gefunden, aber keine Lösung]
Da wirst du Lazarus mal im Debugger starten müssen. Ich konnte damit ähnlichen Merkwürdigkeiten auf die Spur kommen.
Re: LAZ 3.0 FPC 3.2.2 .lfm öffnet in Codeansicht [Fehler gefunden, aber keine Lösung]
Tippe mal drauf, dass man hier im GTK2 Umfeld suchen muss, so à la https://gitlab.com/freepascal.org/lazar ... sues/38332
Ich sage nicht, dass dieser Bugreport direkt damit zu tun hat, aber in diese Richtung wird es wahrscheinlich gehen.
Ich sage nicht, dass dieser Bugreport direkt damit zu tun hat, aber in diese Richtung wird es wahrscheinlich gehen.
Re: LAZ 3.0 FPC 3.2.2 .lfm öffnet in Codeansicht [Fixed dirty Hack :-)]
Theo lag richtig!
Nach langer Sucherei und viel Lesen zu GTK2, habe ich alle GTK2 Inhalte aus der MPlayer Komponente entfernt, bis auf einen Aufruf, um ein Fenster X-Handle zu bekommen.
Ich konnte zwar partiell einige Dinge fixen, aber dann sind mir wieder andere Dinge um die Ohren geflogen; zudem gibt es nur spärliche Infos zu dem ganzen GTK2 Kram... echt frustrierend.
Zumal ich nie eine ordentliche Fehlermeldung bekommen habe, woran es denn lag.
Nach der Installation des MPlayer, ist die IDE regelmäßig abgeschmiert und ließ sich nur über "startlazarus" zum Leben erwecken.
Die Sache ist folgende:
Man muss für die Ausgabe von Videos unter Linux! eine Parent und eine Child Komponente verwenden.
Wird das Video auf die Child Komponente (Handle) geroutet, wird es auf dem Parent ausgegeben.
In der Version der MPlayerComponent, in welcher dieser Fehler auftritt, wurde das Child auf Basis von GTK2 Aufrufen erzeugt und an die FCanvas (Parent) gebunden.
Ich habe die Erzeugung eines GTK2 Widget heraus genommen und einfach für den Betrieb der Komponete unter Linux ein unsichtbares TPanel erzeugt und als Client zur FCanvas definiert.
Eigentlich finde ich das ganz gut, denn ein TPanel kapselt alle GTK2 Aufrufe und funktioniert für gewöhnlich ohne Probleme.
Durch Änderungen der GTK2 ist dieser Fehler irgendwann entstanden und es ist sehr schwierig, hier etwas zu debugen (zumindest für mich)
Nach langer Sucherei und viel Lesen zu GTK2, habe ich alle GTK2 Inhalte aus der MPlayer Komponente entfernt, bis auf einen Aufruf, um ein Fenster X-Handle zu bekommen.
Ich konnte zwar partiell einige Dinge fixen, aber dann sind mir wieder andere Dinge um die Ohren geflogen; zudem gibt es nur spärliche Infos zu dem ganzen GTK2 Kram... echt frustrierend.
Zumal ich nie eine ordentliche Fehlermeldung bekommen habe, woran es denn lag.
Nach der Installation des MPlayer, ist die IDE regelmäßig abgeschmiert und ließ sich nur über "startlazarus" zum Leben erwecken.
Die Sache ist folgende:
Man muss für die Ausgabe von Videos unter Linux! eine Parent und eine Child Komponente verwenden.
Wird das Video auf die Child Komponente (Handle) geroutet, wird es auf dem Parent ausgegeben.
In der Version der MPlayerComponent, in welcher dieser Fehler auftritt, wurde das Child auf Basis von GTK2 Aufrufen erzeugt und an die FCanvas (Parent) gebunden.
Ich habe die Erzeugung eines GTK2 Widget heraus genommen und einfach für den Betrieb der Komponete unter Linux ein unsichtbares TPanel erzeugt und als Client zur FCanvas definiert.
Eigentlich finde ich das ganz gut, denn ein TPanel kapselt alle GTK2 Aufrufe und funktioniert für gewöhnlich ohne Probleme.
Durch Änderungen der GTK2 ist dieser Fehler irgendwann entstanden und es ist sehr schwierig, hier etwas zu debugen (zumindest für mich)
Zuletzt geändert von six1 am Di 5. Mär 2024, 06:40, insgesamt 3-mal geändert.
Gruß, Michael
Re: LAZ 3.0 FPC 3.2.2 .lfm öffnet in Codeansicht [Fixed]
Die Komonente MPlayeControl wurde ge-patched und funktioniert wieder anständig unter Linux und Windows.
Download im Lazarus CCR: https://sourceforge.net/p/lazarus-ccr/s ... s/mplayer/
Danke an wp_xyz für die Unterstützung!
Download im Lazarus CCR: https://sourceforge.net/p/lazarus-ccr/s ... s/mplayer/
Danke an wp_xyz für die Unterstützung!
Gruß, Michael