![]() |
Ungültiges Streamformat
Hallo Leute, ich habe ein ziemlich großes Problem mit einer Formdatei..
Ich wollte gerade mein Projekt öffnen, da erscheint die im Titel genannte Fehlermeldung. Meine Hauptform wird nicht angezeigt und der Code ist irgendwann abgeschnitten. Vor einer Stunde hat alles super funktioniert. Doch nun ist fast der komplette Code nicht mehr in Delphi angezeigt. Letztes Bearbeitungsdatum ist 13.43Uhr, wo ich zuletzt gespeichert/etwas geändert habe. Also gehe ich nicht davon aus, dass es gelöscht ist. Es wäre jetzt verdammt fatal, wenn die komplette Form unbrauchbar ist und ich das ganze nochmal machen darf. Das würde Stunden/Tage dauern, das wieder so hinzubekommen.. Hat jemand nen Rat, was ich da noch tun kann? :( |
Re: Ungültiges Streamformat
Hast du im Editor schonmal in die Pas-Datei gesehen?
|
Re: Ungültiges Streamformat
Nach unten hin fehlt mir verdammt viel an Code..:(
Oh man, echt super.. |
Re: Ungültiges Streamformat
Und dann gäbe es noch backup-dateien, schau dir mal alle an!
|
Re: Ungültiges Streamformat
Mhm..
Genauso viel Code drin, nur dass da ein über 1000 Zeichen String ist mit Kästchen.. |
Re: Ungültiges Streamformat
sieht schlecht aus :(
Mehr fällt mir nicht ein. |
Re: Ungültiges Streamformat
MMh. Sieht wirklich schlecht aus. Wenn du Vista benutzt kann man es mal über die Schattenkopien probieren, die Vista regelmäßig anlegt, allerdings ist das in den Home-Editions nicht so einfach ... Ansonsten ... lerne am besten draus ... Gut zum Sichern macht sich ein Versionskontrollsystem, dass sich durchaus auch für einzel-Entwickler lohnen kann. Aber dazu gibts genug hier im Forum.
|
Re: Ungültiges Streamformat
Ne, benutze XP-Home..
Eine Möglichkeit mit Wiederherstellungsprogrammen gibts auch nicht? |
Re: Ungültiges Streamformat
Delphi 7 legt ja noch die ~pas-Dateien an.
Da ist die vorletzte Version der Datei drin. Vielleicht kannst Du da noch einen Teil des Codes retten. Und vielleicht hast Du auch im Delphi eingestellt, dass er Backups machen soll... Wiederherstellung? Da ist nichts zu machen. Die Datei wurde überschrieben, der alte Inhalt ist für immer weg. |
Re: Ungültiges Streamformat
Ich habe etwas über *bak-Dateien gelesen.
Aber..wo sollen diese seien? |
Re: Ungültiges Streamformat
Zitat:
|
Re: Ungültiges Streamformat
Zitat:
Ich habe das aber immer abgeschaltet, weil's mich genervt hat. Wir hatten in der alten Firma in SVN, da wurde Abends immer eingecheckt. In der neuen Firma lege ich jeden Tag eine Kopie auf dem Server an. /edit: wo war der rote Kasten? |
Re: Ungültiges Streamformat
Sind das die ~pas-Dateien oder sollen dir wirklich die Endung *bak haben?
Ich seh nämlich so rein gar keine.. |
Re: Ungültiges Streamformat
Zitat:
|
Re: Ungültiges Streamformat
Doch, ist sie.
Und in der Hilfe lese ich grade, dass das die Dateien mit dem Zusatz '~' sind. Nagut, das heißt Arbeit.. Trotzdem danke..:( |
Re: Ungültiges Streamformat
Na dann hast Du ja ein arbeitsreiches Wochenende vor Dir.
Und denk daran, bei zweiten Mal wird der Code eh besser, weil man dann nochmal über die Fehler nachdenken kann... |
Re: Ungültiges Streamformat
Jep, das werde ich wohl haben..
Habe ein paar ältere Sicherungen auf meiner ext. Festplatte gefunden. So ist es wenigstens etwas weniger Arbeit. Aber das komische ist, dass Delphi die gesicherte DFM auch nicht akzeptiert.. Zitat:
|
Re: Ungültiges Streamformat
Die pas und dfm werden ja zur gleichen Zeit gesichert.
Egal, was da passiert ist beim Speichern, es hat beide Dateien betroffen. |
Re: Ungültiges Streamformat
Ich habe ja die von meiner anderen HDD benutzt.
Wenn ich das andere Projekt öffne, funktioniert sie ja. |
Re: Ungültiges Streamformat
Die pas und die dfm müssen immer zusammenpassen.
Sonst machst Du halt zwei mal das Delphi auf. In einem Delphi öffnest Du das alte Projekt, im anderen Delphi öffnest Du das neue Projekt. Dann kannst Du im neuen Projekt ein Formular hinzufügen. Nun kopierst Du den Inhalt der pas und der dfm von einem Delphi zum anderen Delphi. Speichern, fertig ist die neue-alte Unit. |
Re: Ungültiges Streamformat
Dankeschön!
Super! Habe ich wenigstens das schonmal wieder drin. Dankeschön! :) |
Re: Ungültiges Streamformat
Es kommen lauter unerklärliche Fehler auf..
Delphi-Quellcode:
[Fehler] Unit2.pas(3139): Nicht abgeschlossener String
while not (Query23.EOF) do begin
Delphi-Quellcode:
[Fehler] Unit2.pas(3376): Anweisung erwartet, aber 'LABEL' gefunden
fc1:=Ini.ReadString('HTML-Farben (Schrift)','1. Stunde','#0000A0');
Beim ersten ist alles in der Umgebung ordentlich geschlossen. Beim 2. Gibt es gar kein Label, was so heißt. Aber wenn ich darauf fc1.text mache, funktionierts. Weiter hab ichs noch nicht probiert.. |
Re: Ungültiges Streamformat
Liste der Anhänge anzeigen (Anzahl: 1)
vielleicht kannst du damit etwas retten (anhang). ist mein bisheriges Test-Programm zum decodieren von DFMs.
mit hilfe der offsets kannst du mit nem Hexeditor ggf. fast die ganze Datei retten... vielleicht gibts auch Anregungen, Fehler zu erkennen und korrigieren/ignorieren, Programm steht noch am Anfang :) ansonsten kannst mir das dfm auch mal schicken, dann kann ich mal schauen, was sich machen lässt. hab aber nicht viel Zeit und bin ab So in Bremen, also erstmal selber probieren :) HTH Frank |
Re: Ungültiges Streamformat
No signature found.
Startet erst gar nicht. :( |
Re: Ungültiges Streamformat
ist das überhaupt ne Binär-dfm?
weil wenn nicht, kannst doch direkt drinrumschreiben und sie reparieren... der fehler kommt, wenn die signatur nicht vorhanden ist (TPF0). entweder ist es keine binär-DFM oder der Anfang der Datei ist beschädigt. wenn die Form-Definition noch vorhanden ist (#Klassenname#Formname, wobei # die länge des nachfolgenden Strings ist). in dem Fall einfach mitm Hex-Edi einfach TPF0 an den Anfang schreiben und die Header-Reconstructor des Programms nehmen, damit der zusätzliche Dateiheader erzeugt wird. Gruß Frank |
Re: Ungültiges Streamformat
Liste der Anhänge anzeigen (Anzahl: 1)
Delphi öffnet die dfm ja erst gar nicht.
Befindet sich im Anhang, vlt kannst du sie ja öffnen. |
Re: Ungültiges Streamformat
naja, hab die Datei mal mit HxD geöffnet...außer 0-bytes nichts zu sehen, da lässt sich so erstmal nichts restaurieren....also entweder backup oder neu :(
//edit... wegen der Unit, öffne die Datei mal in nem richtigen Editor (z.b. Scite), wo du die Zeilenendezeichen auf das windows-format umwandeln kannst, falls da irgendwas nicht stimmt... Gruß Frank |
Re: Ungültiges Streamformat
Hast du vielleicht noch eine kompilierte EXE von dem Projekt? dann kannst du daraus die DFM Datei extrahieren.
|
Re: Ungültiges Streamformat
Hab ich mir schon gedacht.
Aber ich bin ja auch dabei. Soweit auch fertig. Nur macht der Code jetzt so üble Probleme, und dann auch so unlogische. Ich hab vlt nich den saubersten Code, aber wenn man etwas kopiert, nur nen Query ändert und für eine neue Funktion einfügt, sollte es doch wohl eigtl klappen, oder? Nur genau das tuts nicht. Das regt mich auf. Oh man.. Bzgl. Scite: Gibt mir stattdessen nur 'NulNulNulNul(...)' aus. @ jim_rayner: Wie funktioniert das denn? Klar habe eine exe! Das wär echt die perfekte Rettung! |
Re: Ungültiges Streamformat
Hi,
die DFMs sind einfach als Ressourcen eingespeichert. Wenn du was selbst schreiben willst, orientiere dich z. B. an diesem Ressourcenexplorer-Beispielprojekt von Delphi :) sonst könntest du z. B. ![]() Mfg FAlter [edit] ![]() |
Re: Ungültiges Streamformat
Liste der Anhänge anzeigen (Anzahl: 1)
stimmt, an die exe hab ich noch gar nicht gedacht...
kannst ja mal probieren mit meinem DFM-Editor die DFM aus der exe zu laden und als Datei abzuspeichern... hab dir den dfmedit (aktuellste beta, eigentlich schon soweit stable) mal angehängt, da mein Webspace grade Probleme hat. Gruß Frank |
Re: Ungültiges Streamformat
Mit der Datei bekomme ich wieder den gleichen Fehler, wie heute Nachmittag:
"Mindestens eine Zeile war zu lang und musste abgeschnitten werden" /edit: @ Frank: Ich probiers gleich mal aus. /edit2: Fehler beim Konvertieren :( |
Re: Ungültiges Streamformat
Liste der Anhänge anzeigen (Anzahl: 1)
das mit dem Scite war für die Unit2.pas (nicht abgeschlossener String) gedacht...oder haste den Fehler schon behoben und ich habs überlesen?
habs auch mal angehängt, einfach eintpacken, scite.exe starten, datei reinladen,Optionen=>Zeilenende-zeichen=>CR+LF, Optionen=>Zeilenende-zeichen konvertieren, speichern, ausprobieren, hoffentlich freuen :) //edit, du hast aber schon die exe geladen und das entsprechende Formular ausgewählt (4.Icon in der toolbar/Strg+R/Datei=> aus Binärdatei laden), oder? die dfm ist hin... HTH Frank |
Re: Ungültiges Streamformat
DANKE!!!!
DANKE!!!! Ich liebe dich! :mrgreen: :mrgreen: :mrgreen: :mrgreen: Ok, das vlt nicht.. aber.. du hast mir den Tag, das Projekt und..meine Nerven gerettet! Absoluten mega-Dank!!! |
Re: Ungültiges Streamformat
*g* schön, dass es geklappt hat :)
hast du alles wiederherstellen können? kannst ja noch bisschen Beta-Testen (dfmedit),wenn du willst... die Version so wie sie jetzt ist, soll nämlich die 0.4 werden, aktuell sind keine Bugs mehr bekannt...wurden soweit alle gefixt. //edit falls du wider Erwarten was finden solltst, bitte in den ![]() ![]() Gruß Frank |
Re: Ungültiges Streamformat
Soweit ich es vorher wieder herrichten konnte, ist alles wieder da.
So ist aber wenigstens eine unnötige Funktion rausgeflogen, die sowieso nur gestresst hat. *g* Klar, ich werde dein Prog ma durchgehen. Das bin ich dir ja wohl mindestens schuldig. ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:24 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-2025 by Thomas Breitkreuz