AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Stack-Überlauf beim verschieben von Controls und dfm-Fehler
Thema durchsuchen
Ansicht
Themen-Optionen

Stack-Überlauf beim verschieben von Controls und dfm-Fehler

Ein Thema von NoName1 · begonnen am 30. Okt 2018 · letzter Beitrag vom 31. Okt 2018
Antwort Antwort
Seite 1 von 2  1 2      
NoName1

Registriert seit: 8. Mär 2018
196 Beiträge
 
Delphi 12 Athens
 
#1

Stack-Überlauf beim verschieben von Controls und dfm-Fehler

  Alt 30. Okt 2018, 10:17
Guten Tag,
seit gestern bekomme ich die Meldung Stack-Überlauf, wenn ich auf irgend einem Formular
ein Control, z. B. Button verschiebe und das Formular abspeichern möchte.
Ich habe nichtmals die Möglichkeit auf den Button "Details" der Meldung zu klicken,
weil nur das HourGlass einige Sekunden angezeigt wird und Delphi dann beendet wird.
Eine Datei von madExcept wurde auch nicht erzeugt.
Versuche ich es mit dem Compilieren bekomme ich die Fehlermeldung, dass die dfm-Datei nicht geöffnet werden kann.
Siehe dazu auch die Screenshoots.
Starte ich darauf hin Delphi neu und wiederhole den Vorgang, beendet sich Delphi
sang und klanglos.
Hat jemend einen Rat was ich tun kann, damit wieder alles korrekt läuft?
Miniaturansicht angehängter Grafiken
stack.png   fehler-dfm.png  
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Stack-Überlauf beim verschieben von Controls und dfm-Fehler

  Alt 30. Okt 2018, 10:37
Habe ich auch manchmal. Versuche mal alle Formulare schließen und Projekt bereinigen. Schau dir die DFM-Datei mal in Notepad an, da muss irgendetwas kaputt gegangen sein. Am besten stellst du die Datei auf den vorherigen Stand zurück bevor es aufgetreten ist und vergleichst.
  Mit Zitat antworten Zitat
NoName1

Registriert seit: 8. Mär 2018
196 Beiträge
 
Delphi 12 Athens
 
#3

AW: Stack-Überlauf beim verschieben von Controls und dfm-Fehler

  Alt 30. Okt 2018, 13:54
Habe ich auch manchmal. Versuche mal alle Formulare schließen und Projekt bereinigen. Schau dir die DFM-Datei mal in Notepad an, da muss irgendetwas kaputt gegangen sein. Am besten stellst du die Datei auf den vorherigen Stand zurück bevor es aufgetreten ist und vergleichst.
Vielen Dank für Deine Antwort.
Ich bin so vorgegangen wie Du vorgeschlagen hast. Aber es war nicht erfolgreich.
Scheinbar sind in den History-Dateien auch schon Fehler enthalten.
Es scheint auch keine Möglichkeit zugeben die *.dfm-Dateien neu erstellen zulassen.
Beadauerlich, das in Delphi dazu kein Reparatur-Tool vorhanden ist.
Und so an den *.dfm-Dateien rumzuwerkeln traue ich mich nicht. Dazu fehlt mir die Erfahrung
und das Wissen. Ich bin ja noch Lehrling.

Ich habe mich nun entschlossen, das System neu aufzusetzen.
Es stecken immerhin 5 Jahre Entwicklung im System.
Dazu werde ich so vorgehen:
Zuerst alle Units einzubinden, danach alle Formulare wieder hinzufügen.
Mal sehen wie weit ich damit gelange.
  Mit Zitat antworten Zitat
hoika
Online

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Stack-Überlauf beim verschieben von Controls und dfm-Fehler

  Alt 30. Okt 2018, 14:20
Hallo,
Zitat:
Ich habe mich nun entschlossen, das System neu aufzusetzen.
Delphi oder das Projekt?

Zitat:
Es scheint auch keine Möglichkeit zugeben die *.dfm-Dateien neu erstellen zulassen.
Du kannst die letzte Datensicherung (Versionskontrolle, VCS) einspielen.
Da in den DFM-Dateien u.a. die Positionen (Left,Top, Width,Height) der Komponenten stehen,
und nur dort, klappt das "neue erstellen" natürlich nicht.
Falls die kein VCS hast, kannst Du auch die letzte Version aus dem History-Ordner holen.

Mach doch einfach eine Datensicherung des Projektpfades und lösche dann den history-Ordner.
Ob es daran liegt, wage ich aber zu bezweifeln.
Heiko

Geändert von hoika (30. Okt 2018 um 14:24 Uhr)
  Mit Zitat antworten Zitat
NoName1

Registriert seit: 8. Mär 2018
196 Beiträge
 
Delphi 12 Athens
 
#5

AW: Stack-Überlauf beim verschieben von Controls und dfm-Fehler

  Alt 30. Okt 2018, 17:09
An den Anwortern,
es ist und bleibt eigenartig.
Ich habe ein neues Projekt in einem neuen Ordner angelegt.
Danach habe ich alle Units in den Projektordner kopiert, so dass die gleiche
Ordnerstruktur vorhanden ist.
Bevor ich die Units hinzugefügt habe, habe ich alle _history Ordner gelöscht.
Das Projekt wird mit den neu hinzugefügten Units fehlerfrei Compiliert.
Wenn ich jedoch ein Formular hinzufüge und dann wieder compiliere, tritt die
"dfm" Fehlermeldung wieder auf und Delphi verabschiedet sich.
Scheinbar sind die alle *.dfm Dateien defekt.
Auch habe ich bemerkt das manche _history-Odner als verstekt angelegt werden.
Dies ist doch nicht standard? Kann das irgendwo in Delphi eingestellt werden?

Ich habe eine dfm-Datei mit Notpad geöffnet und angesehen. Wie soll ich feststellen was in der
Datei evtl. alles falsch ist?
Gibt es wirklich keine Möglichkeit die *.dfm-Dateien neu erstellen zu lassen??

Muss ich nun alle Formulare neu erstellen??
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Stack-Überlauf beim verschieben von Controls und dfm-Fehler

  Alt 30. Okt 2018, 17:14
Scheinbar sind die alle *.dfm Dateien defekt.
Schwer vorstellbar.
Nur der Vollständigkeit halber: Andere Projekte haben das Problem nicht?
  Mit Zitat antworten Zitat
NoName1

Registriert seit: 8. Mär 2018
196 Beiträge
 
Delphi 12 Athens
 
#7

AW: Stack-Überlauf beim verschieben von Controls und dfm-Fehler

  Alt 30. Okt 2018, 17:27
Scheinbar sind die alle *.dfm Dateien defekt.
Schwer vorstellbar.
Nur der Vollständigkeit halber: Andere Projekte haben das Problem nicht?
Du hast recht. Auf Deinen Hinweis hin habe ich 2 andere Projekte geprüft.
Oh Schreck, gleiche Fehlermeldungen bei den *.dfm-Dateien.
Was kann das sein? Festplatte evtl. defekt?. Es ist eine SSD-Platte.
Ich kann mir keinen Reim darauf machen. Hat Du noch einen Tip/Rat was es sein kann??
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Stack-Überlauf beim verschieben von Controls und dfm-Fehler

  Alt 30. Okt 2018, 17:33
Ja, kann ich. Das habe ich auch oft. Immer die Formulare, normaler Quelltext ist nie ein Problem.
Delphi zerstört sich hier immer wieder gerne selbst in der Registry etwas und danach ist es kaputt.


Zwei Schritte

1. Du startest Delphi (die bds.exe) mit einem Parameter -rTest oder -rNoName oder was auch immer. Damit hast du ein frisches Delphi-Profil. Wahrscheinlich fehlen dir nun ein paar Plug-Ins und Komponenten. Aber ein frisches Projekt sollte wieder gehen, oder? Du könntest jetzt so weiter machen bis es das nächste mal auseinander fällt.

Alternativ machst du noch Schritt 2:

2. Du sicherst deinen Gesamten Registry-Schlüssel unter
Code:
HKEY_CURRENT_USER\Software\Embarcadero\Test
. "Test" ist natürlich das was du in Schritt 1 gewählt hast. Wenn es das nächste mal auftritt (bei mir ca. 2 mal die Woche) spielst du diese Registry-Datei einfach wieder ein.
  Mit Zitat antworten Zitat
NoName1

Registriert seit: 8. Mär 2018
196 Beiträge
 
Delphi 12 Athens
 
#9

AW: Stack-Überlauf beim verschieben von Controls und dfm-Fehler

  Alt 30. Okt 2018, 18:14
Danke für die rasche Antwort.
Wenn ich so vorgehe wie Du es beschreibst, dann fehlen alle Componenten.
Wie soll Delphi denn die installierten Componenten erkennen?
Ich benutze die Componenten von TMS und die lassen sich nur installieren wenn Delphi nicht aktiv ist.
Wie soll das funktionieren? Kann man Delphi nicht anders reparieren?
Aus der Installationsroutine heraus geht es ja auch nicht korrekt.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.156 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Stack-Überlauf beim verschieben von Controls und dfm-Fehler

  Alt 30. Okt 2018, 18:41
Wenn ich so vorgehe wie Du es beschreibst, dann fehlen alle Componenten.
Richtig, aber es läuft überhaupt erst einmal, oder?

Deine Komponenten kannst du entweder

über Delphi im Menü Komponente -> Packages installieren wieder nachinstallieren


oder du gehst im Registry-Editor hin und kopierst deinen alten Schlüssel unter


HKEY_CURRENT_USER\Software\Embarcadero\17.0\Known Packages

in dein neues

Computer\HKEY_CURRENT_USER\Software\Embarcadero\Te st\17.0\Known Packages


In meinem Fall steht "17.0" für "Delphi 10.0 Seattle" und "Test" ist der Name den ich für das neue Profil gewählt hatte.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 08:13 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