Formular verschwunden

Für Fragen rund um die Ide und zum Debugger
Antworten
Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Formular verschwunden

Beitrag von Aliobaba »

Hallo,

Mein Projekt besteht aus mehreren Formularen, die teilweise auch während der Laufzeit erst aufgerufen werden.

Alle Formulare funktionieren zur Laufzeit und sind ganz normal und an der vorgesehenen Stelle am Bildschirm sichtbar (damit helfen mir einige Lösungsansätze, die hier schon beschrieben sind nicht weiter), aber ich kann ein Formular während des Programmierens nicht mehr sehen und aufrufen. Auch ein Aufruf dieses Formulars unter /Projekt/Formulare bringt dieses Formular nicht auf den Bildschirm (alle anderen Formulare aber schon)

Ich vermute, dass ich dieses Formular während der Programmentwicklung irgendwann mal "aus dem Fenster" geschoben habe und es sich irgendwo "außerhalb des Bildschirmbereiches" befindet.

Wo sind die Parameter abgespeichert, wie und an welcher Stelle Lazarus in der Entwicklungsumgebung(!) das Formular öffnet - und wie könnte ich dieses Problem lösen.

Aliobaba
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Formular verschwunden

Beitrag von Christian »

In Objektinspector ?!
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Formular verschwunden

Beitrag von Aliobaba »

da finden sich nur die "xy.pas" Dateien
und "Benötigte Packages" [FCL, zcomponent und LCL]

Aber wie kriege ich das verlorengegangene Formular (also die Programmoberfläche) wieder während des Programmierens zu Gesicht?

Aliobaba
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Benutzeravatar
theo
Beiträge: 10861
Registriert: Mo 11. Sep 2006, 19:01

Re: Formular verschwunden

Beitrag von theo »

Öffne die dazugehörige lfm Datei, dort stehen alle Eigenschaften im Klartext drin.

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Formular verschwunden

Beitrag von Aliobaba »

Danke für die Hilfen,

aber ich kriegs nicht hin. Die Probleme sind für einen Anfänge wohl einige Nummern zu groß :-(
Meine Versuche führten soeben zu seltsamen Kompilier-Fehlern. Ich nehme vorsichtshalber die Sicherungskopie von gestern abend. Ein Formular des Projekts (also die Grafik-Oberfläche, auf die man Buttons, Labels und Edit-Felder zieht) bleibt in der Programmierumgebung verschwunden - obwohl sie im kompilierten Programm vorhanden ist und problemlos funktioniert.)

Falls noch jemand eine Idee hat bin ich für weitere Hinweise natürlich dankbar.

Aliobaba
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Benutzeravatar
theo
Beiträge: 10861
Registriert: Mo 11. Sep 2006, 19:01

Re: Formular verschwunden

Beitrag von theo »

Das bringt einen jetzt auch nicht weiter. Was hast du denn gesehen, als du das <UnitName>.lfm geöffnet hast?

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Formular verschwunden

Beitrag von Aliobaba »

Hallo theo,

Danke für Deine Hilfsbereitschaft!!
In der "myunitdb3.lfm" finden sich (sh unten) alle Angaben, die für das Formular wichtig sind ..... nur das Formular selbst fehlte :( und ich kriegte es nicht auf den Bildschirm während der Programmentwicklung (wie gesagt, im Programm erscheint es ganz normal)
Ich habe versucht, die Positionen des Fensters so zu manipulieren, dass das Fenster ganz sicher innerhalb des Bildschirm aufgeht. Dies machte ich "außerhalb" der Lazarus-Entwicklungsumgebung, indem ich dieses "myunitdb3.lfm" vorübergehend in "myunitdb3.txt" umbenannte, um es mit einem Texteditor bearbeiten zu können...... Das war fatal: es erschienen gleich mehrere, mir völlig unklare Fehlermeldungen.
Entmutigt schrieb ich obigen Text (vorletzter Eintrag in diesem Forum)

Jetzt habe ich es nochmal versucht - allerdings INNERHALB der Entwicklungsumgebung, nachdem es mir nun doch gelungen war, das "myunitdb3.lfm" im Quelltexteditor angeboten zu bekommen. Und siehe da: Das Forumlar ist wieder da :D , nachdem ich die Positionsdaten des Formulars verändert habe; es war wahrscheinlich wirklich "außerhalb des Bildschims".
Aus Gründen, die ich jetzt nicht mehr nachvollziehen kann, gelang es mir zunächst nicht, das "myunitdb3.lfm" im Quelltexteditor zu sehen.

Ach ja, wenn es Dich interessiert, hier
http://www.vondoczudoc.de/viewtopic.php?f=71&t=3818
ist der Link zum Download meines "großen Wurfes"

Danke nochmal!!!!

Aliobaba

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
object Unittdb3: TUnittdb3
Left = 1102
Height = 715
Top = 1065
...............................
...............................
ReadOnly = True
ScrollBars = ssBoth
TabOrder = 3
end
end
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

amrs
Beiträge: 9
Registriert: Fr 12. Okt 2012, 22:55
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: 32Bit

Re: Formular verschwunden

Beitrag von amrs »

Hi,

was passiert denn, wenn Du das Editor-Fenster hast (also, dass Fenster, in dem Du Dein Programm schreibst) und dann mal F12 drückst. Normalerweise wird dann das Formular Form1 angezeigt.

Ist es das, was bei Dir nicht funktioniert?

Beste Grüße

Andreas

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Formular verschwunden

Beitrag von Aliobaba »

Hallo Andreas,

das "verschwundene" Formular kann ich mittlerweile (auch mit F12) wieder sehen, aber erst seit gestern abend wieder. Warum es vorher kurzfristig weg war, weiß ich nicht, liegt vielleicht an "verstellten" Positionsdaten dieses Forumlars.
Aber es funktioniert ja nun wieder - und ich bin heilfroh!

Danke für Euere Hilfen!

Aliobaba
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Socke
Lazarusforum e. V.
Beiträge: 3177
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Formular verschwunden

Beitrag von Socke »

Aliobaba hat geschrieben:das "verschwundene" Formular kann ich mittlerweile (auch mit F12) wieder sehen, aber erst seit gestern abend wieder. Warum es vorher kurzfristig weg war, weiß ich nicht, liegt vielleicht an "verstellten" Positionsdaten dieses Forumlars.
Was für ein Betriebssystem hast du denn? Mein Debian 6 mit Gnome hat mir Fenster, die außerhalb des Bildschirms lagen (zum Beispiel auf einem nicht mehr angeschlossenen zweiten Bildschirm) einfach in den sichtbaren Bereich geschoben. Bei Windows XP weiß ich, dass so etwas nicht gemacht wird.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Aliobaba
Lazarusforum e. V.
Beiträge: 496
Registriert: Di 1. Mai 2012, 09:11

Re: Formular verschwunden

Beitrag von Aliobaba »

Ich habe Windows 7.
Allerdings bin ich ja gar nicht sicher, ob meine Analyse wirklich stimmt.
Möglicherweise war es ja auch wieder irgendein banaler Anfängerfehler.

Aliobaba
"MyMemoryDB" ( https://www.heise.de/download/product/mymemorydb-89626 )

Soner
Beiträge: 724
Registriert: Do 27. Sep 2012, 00:07
OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
CPU-Target: x86_64-win64
Wohnort: Hamburg

Re: Formular verschwunden

Beitrag von Soner »

Du hast dein Problem schon gelöst aber wenn du diesen Hinweis:
Christian hat geschrieben:In Objektinspector ?!
beachtet hättest, mußtest du nicht soviel Arbeit tun. Wenn man ein Datei mit Formular öffnet wird in Objektinspektor oberste Komponente also Formular ausgewählt oder du selektierst es in Komponentenbaum in Objektinspektor dann kannst du leicht Left- bzw. Top-Eigenschaft des Formulars ändern. Wenn ich deine lfm-Datei anschaue:

Code: Alles auswählen

object Unittdb3: TUnittdb3
Left = 1102
Height = 715
Top = 1065
 
dann ist dein Bildschirm entweder in der Breite kleiner als 1102 oder in der Höhe kleiner als 1065.

Objektinspektor ist etwas wunderbares in Lazarus und mit der Taste [F12] kannst du immmer zwischen Formular- und Quelltextfenster wechseln; auch wenn dein Formular über Bildschirmränder ist.

Mit Erfolg mit dein Programm.

Antworten