![]() |
Lazarus image list + pas datei verschieben
Ich habe in einer Lazarus Anwendung mehrere Forms: FormMain, Form1, Form2, ... Die unit pas Dateien zu den Forms liegen ueberwiegend direkt im Projekt-Verzeichnis. Leider habe ich zwei Forms aus versehen in einem Unterverzeichnis gespeichert. An sich kein Problem dachte ich mir. Umkopiert , aus dem projektexplorer raus genommen und neu eingeladen. Aber: eines der beiden Forms enthielt eine Timagelist mit 7mb an Bildern. Nach dem Verschieben der unit vom Unterverzeichnis in das Projekt-Verzeichnis lädt Lazarus zwar das Projekt, aber es kann das Form mit der Timagelist nicht mehr anzeigen. Das Programm stürzt auch ab wenn versucht wird auf die images in timagelist zuzugreifen.
Weiss jemand was da passiert ist?. Lazarus Bug? Kann das jemand reproduzieren? Ich würde auch gerne wissen warum er die Bitmaps ncht in einem Ressource file ablegt sondern plain in die formdatei schreibt. Gutelo |
AW: Lazarus image list + pas datei verschieben
Hätte man im laufenden Projekt nicht einfach das Form mittels "Speichern unter" an seinem neuen Ort speichern können und damit wäre das Thema durchgewesen?
|
AW: Lazarus image list + pas datei verschieben
Hmm,
von der Sicherheitskopie bin ich jetzt mal so vorgegangen: 1.) das TImageList vom Form geloescht 2.) alle Images in ein Lazarus resource file gepackt und im main programm eingeladen. 3.) die Form auf der Festplatte vom Unterverzeichnis ins Hauptverzeichnis kopiert Schonwieder das gleiche Problem. Er findet das Form nicht zur Laufzeit. Ich dreh langsam durch ... |
AW: Lazarus image list + pas datei verschieben
Zitat:
Wenn ich ein böser Compiler/Linker wäre, dann würde ich dir dafür absichtlich eine falsche Unit unterschieben. :stupid: Das war nicht zufällig eine automatisch erstellte/initialisierte Form? |
AW: Lazarus image list + pas datei verschieben
Nee,
habs gefunden. Beim rausnehmen der units loescht er die Application.CreateForm(...) in Projekt.lpr Aber beim Hinzufuegen der units nach dem Umkopieren fuegt er die Forms nicht mehr hinzu. Bloede dass er sauber durchkompiliert und dann erst abstuerzt wenn man auf irgendwas zugreifen will, das auf dem entsprechenden Form liegt. Meine Nerven ... |
AW: Lazarus image list + pas datei verschieben
Warum sollte er nicht kompilieren?
Der Code ist ja vollkommen korrekt, denn woher soll der compiler wissen, ob du die Form nicht eventuell erst dann manuell erstellst, wen sie benötigt wird? |
AW: Lazarus image list + pas datei verschieben
PS: Wenn du die Fehlermeldung genannt hattest "Zugriffsverletzung bei Adresse 00000xxx", dann hätte man dir gleich gesagt, dass DU etwas hast vergessen zu erstellen, da NIL-Pointer. :roll:
|
AW: Lazarus image list + pas datei verschieben
oh, sorry, beim naechsten mal poste ich mit Fehlermeldung.
ICH hab was vergessen? Wenn Lazarus so klug ist den Eintrag beim Loeschen der alten Dateien aus dem Sourcecode zu entfernen, dann kann ich doch erwarten, dass es auch so klug ist beim Hinzufuegen der neuen (bzw. umkopierten) Dateien den Eintrag wieder zu erstellen. Er muss ja nur schauen ob eine gleichnamige frm-Datei existiert, wenn ja den Formname "erparsen" und anschliessend Application.CreateForm(Formname) zur Project.lpr hinzufuegen. Danke Himitsu Gutelo |
AW: Lazarus image list + pas datei verschieben
Zitat:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:22 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz