AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Lazarus image list + pas datei verschieben
Thema durchsuchen
Ansicht
Themen-Optionen

Lazarus image list + pas datei verschieben

Ein Thema von Gutelo · begonnen am 12. Sep 2014 · letzter Beitrag vom 12. Sep 2014
Antwort Antwort
Gutelo

Registriert seit: 29. Sep 2013
152 Beiträge
 
#1

Lazarus image list + pas datei verschieben

  Alt 12. Sep 2014, 05:42
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

Geändert von Gutelo (12. Sep 2014 um 07:25 Uhr)
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.737 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: Lazarus image list + pas datei verschieben

  Alt 12. Sep 2014, 09:02
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?
Ralph
  Mit Zitat antworten Zitat
Gutelo

Registriert seit: 29. Sep 2013
152 Beiträge
 
#3

AW: Lazarus image list + pas datei verschieben

  Alt 12. Sep 2014, 09:32
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 ...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Lazarus image list + pas datei verschieben

  Alt 12. Sep 2014, 09:37
Zitat:
Form1, Form2, ...
Die Units heißen doch nicht etwa auch noch Unit1, Unit2 usw.?

Wenn ich ein böser Compiler/Linker wäre, dann würde ich dir dafür absichtlich eine falsche Unit unterschieben.


Das war nicht zufällig eine automatisch erstellte/initialisierte Form?
$2B or not $2B

Geändert von himitsu (12. Sep 2014 um 09:52 Uhr)
  Mit Zitat antworten Zitat
Gutelo

Registriert seit: 29. Sep 2013
152 Beiträge
 
#5

AW: Lazarus image list + pas datei verschieben

  Alt 12. Sep 2014, 09:50
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 ...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Lazarus image list + pas datei verschieben

  Alt 12. Sep 2014, 09:55
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?
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#7

AW: Lazarus image list + pas datei verschieben

  Alt 12. Sep 2014, 10:01
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.
$2B or not $2B
  Mit Zitat antworten Zitat
Gutelo

Registriert seit: 29. Sep 2013
152 Beiträge
 
#8

AW: Lazarus image list + pas datei verschieben

  Alt 12. Sep 2014, 17:43
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
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#9

AW: Lazarus image list + pas datei verschieben

  Alt 12. Sep 2014, 20:15
Wenn Lazarus so klug ist den Eintrag beim Loeschen der alten Dateien aus dem Sourcecode zu entfernen,
Es ist nicht klug sondern eine zwingende Notwendigkeit damit die Anwendung noch kompilierbar ist.

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.
Solch ein verhalten würden aber 95% der User nicht wollen. Maximal schick wäre eine Rückfrage: "Wollen Sie das Formular automatisch erzeuge lassen".
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz