Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Console-Anwendung zerstört beim Absturz eigenen Quellcode (https://www.delphipraxis.net/203452-console-anwendung-zerstoert-beim-absturz-eigenen-quellcode.html)

Andreas13 18. Feb 2020 14:24

Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Community,
Habe folgendes Problem mit einer Windows10 - Console-Anwendung:
Zum Testen einer Berechnungsroutine habe ich eine Console-Anwendung (32 Bit) erstellt und diese aus dem IDE (Delphi XE5) heraus gestartet. Es kam zu einem Absturz und aus dem Quelltext wurde ein XML-ähnlicher Text (s. Hardcopy), wobei alle meine automatisch generierten Sicherungsdateien desselben Projektes im Verzeichnis
\__history\
ebenfalls dieses Format bekommen haben. Daraus kann ich leider keinen Quellcode mehr wiederherstellen. Mein Schaden ist nicht besonders groß (ca. 200 Zeilen Code), aber weil das Phänomen immer wieder passiert, möchte ich Euch fragen, woran das wohl liegen kann, und vor allem was ich falsch mache.

Danke für Eure Hilfe im Voraus!
Gruß, Andreas

TiGü 18. Feb 2020 14:31

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Hm...ja, lass dir mal im Windows-Ordner die Dateiendungen anzeigen.
Da müsste eine DPROJ-Datei liegen und eine DPR-Datei.
In der DPR-Datei ist der Quelltext deiner Konsolenanwendung.

Andreas13 18. Feb 2020 14:36

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Im Windows-Ordner (inkl. Unterverzeichnisse) gibt's leider keine DPROJ-Datei...

TiGü 18. Feb 2020 14:39

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Also ist der Screenshot der Inhalt der DPR-Datei?

Andreas13 18. Feb 2020 14:43

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Nein: Die DPR-Datei ist verschwunden. Auch im Papierkorb ist nichts. Der Screenshot ist aus dem Ordner \__history\

Klaus01 18. Feb 2020 14:50

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
svn update, git pull, backup-restore ;o)

himitsu 18. Feb 2020 15:00

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Das, was du da oben hast, ist der Inhalt der DPROJ (Delphi-Projektoptionen).

Der Quelltext zum Projekt steht in der DPR (Delphi-Projekt), bzw. in der DPK (Delphi-Package) bei Packages
und eventuell noch in den PAS (PascalUnit) und den RES/RC/DFM/...



In den IDE-Optionen kann man aktivieren, dass beim Kompilieren alles gespeichert wird.
Leider erst nach dem Kompilieren, was blöd ist, wenn es beim Kompilieren abraucht.
Und man will auch nicht immer, dass ständig automatisch die Dateien gespeichert/überschrieben werden.
(Delphi/Projekt/Datei schließen, Speichern nein sagen, neu öffnen und ist wieder der alte Zustand, das geht dann hier nicht mehr)
Oder ein Testprojekt erstellen und testen/kompilieren ohne zu speichern, das geht so auch nicht, weil der ja immer speichern will. (auch geöffnete schreibeschützte Dateien, wenn man z.B. in den Delphi-Systemunits rumkramt)

Und aktuelle Delphis haben auch noch ein neues Backup, wo automatisch regelmäßig alle offenen/geänderten Dateien als Restore-Backup gespeichert werden und Delphi fragt dich dann beim nächsten Programmstart, dass es alte Versionen fand und ob es diese Dateien wiederherstellen soll.

Andreas13 18. Feb 2020 16:04

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Leider konnte ich nirgends Spuren meines Quelltextes finden.
Danke für Eure Tipps & Hilfe!
Gruß, Andreas

hoika 18. Feb 2020 17:24

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Hallo,
"Search Everything" benutzen zum Suchen.

Ich gehe mal davon aus, dass du die DPR zumindestens einmal (beim Beenden der IDE) gespeichert hattest,
den Namen siehst du ja in der Zeile "MainSource".

Andreas13 18. Feb 2020 17:30

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Ja, natürlich.
Im Ordner __\history\ habe ich 14 frühere Versionen der DPR-Datei, allerdings alles mit identischem Inhalt im XML-Format.

Auch Undelete.exe konnte nichts Brauchbares finden...

hoika 18. Feb 2020 17:36

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Hallo,
das ist nicht die dpr, sonder die dprj.
Die dpr beginnt mit program.

Benutze Search Everything.

Andreas13 18. Feb 2020 17:43

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Habe soeben Search Everything von:
https://yepdownload.com/everything
heruntergeladen. VirusTotal.com meldet 14 Trojaner...

Ralf Kaiser 18. Feb 2020 17:50

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Zitat:

Zitat von Andreas13 (Beitrag 1457832)
Habe soeben Search Everything von:
https://yepdownload.com/everything
heruntergeladen. VirusTotal.com meldet 14 Trojaner...

Dann lade dir "Everything" von der Originalseite ( https://www.voidtools.com/ ) und nicht von einer Seite vor der immer wieder gewarnt wird...

Andreas13 18. Feb 2020 17:54

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Habe eine virenfreie Version von Search Everything gefunden:
https://download.cnet.com/Everything...-10890746.html

Search Everything findet neben meinen Sicherungsdateien im Ordner __history\
mit den Namen: Swap_Matrix_Vektor_Test_1.dpr.~9~ bis Swap_Matrix_Vektor_Test_1.dpr.~16~
noch eine weitere Datei im Verzeichnis C:\Windows\Prefetch\
SWAP_MATRIX_VEKTOR_TEST_1.EXE-2F0D1D31.pf
Das ist allerdings binär codiert.

Andreas13 18. Feb 2020 18:00

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Danke für die Tipps!

hoika 18. Feb 2020 19:06

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Hallo,
hast Du nach Swap_Matrix_Vektor_Test_1*.* gesucht?

Und die Swap_Matrix_Vektor_Test_1.dpr.~9 sieht wie die obige Xml-Datei aus?

Wenn ja:
Musst du halt noch mal coden und immer schön die Quellen sichern ...

Andreas13 18. Feb 2020 20:01

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Hallo,
ja, ich habe Swap_Matrix_Vektor_Test_1.dpr gesucht, allerdings mit dem "rihtigen" Inhalt. Alle 16 Sicherungen beinhalten jedoch nur die Projekt-Optionen im XML-Format. Der Pascal-Quellcode ist nirgends zu finden. Ich muß das Programm neu erstellen (kein Problem), aber ich hätte schon gerne gewußt, wodurch es zu dieser "Fehlfunktion" kam, damit es nicht wieder passiert. An der Häufigkeit der Datensicherung (16-mal) liegt es nicht.
Auch wenn der Quellcode fehlt, habe ich etliches von Euch gelernt wie z.B. "Suche Everything" etc.
Danke für Eure Tipps & Hilfe!
Gruß, Andreas

TigerLilly 19. Feb 2020 09:06

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Kann es sein, dass du DPR und DPROJ vermischt und deine Projektdatei als DPR anstelle von DPROJ abgespeichert hast? Nur das kann erklären, warum dein Code weg ist und der Inhalt der DPROJ in deiner DPR auftaucht.

Uwe Raabe 19. Feb 2020 09:15

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Es könnte auch mit den alten DOS 8.3 Namen zusammenhängen. Dort haben dproj- und dpr-Dateien nämlich dieselbe Endung:
Zitat:

Verzeichnis von C:\Kiln\CleanUnitFileNames\source

09.08.2019 13:46 <DIR> .
09.08.2019 13:46 <DIR> ..
08.08.2019 15:32 2.136 CLEANU~2.DPR CleanUnitFileNames.dpr
08.08.2019 17:10 35.948 CLEANU~1.DPR CleanUnitFileNames.dproj
08.08.2019 17:10 467 CLEANU~1.LOC CleanUnitFileNames.dproj.local
09.08.2019 13:46 16.033 CLEANU~1.DSK CleanUnitFileNames.dsk
09.08.2019 13:46 73 CLEANU~1.IDE CleanUnitFileNames.identcache
08.08.2019 14:53 96 CLEANU~1.RES CleanUnitFileNames.res
09.08.2019 13:46 157 CLEANU~1.STA CleanUnitFileNames.stat
08.08.2019 17:10 16.121 CLEANU~1.~DS CleanUnitFileNames.~dsk
08.08.2019 14:38 <DIR> Win32
8 Datei(en), 71.031 Bytes
3 Verzeichnis(se), 186.558.877.696 Bytes frei

himitsu 19. Feb 2020 11:38

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Die kurzen Namen kann man auch abschalten und so lange dann niemand versucht die Kurznamen auszulesen, bleiben sie weg.
Dort haben diese Dateitypen zwar die gleiche Endung, aber vorne auch nunterschiedliche Namen, so dass es eigentlich nicht zu Verwechlungen kommen sollte.


Zitat:

binärdaten
Nja, du hast ja schon lange genug weiter auf der Plate rumgewekelt.
Da wäre es kein Wunder, wenn vielleicht alte Ordnereinträge gefunden werden, aber die Position wo die Datei lag nun schon von was Anderem wiederverwendet wurde.

milo 19. Feb 2020 12:46

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Dumme Antwort? Vllt schaust Du mal bei Deinem Virenscanner? Wir haben häufiger mal Programmverluste bei bestimmten Antivirenprogrammen.

Gruß :D Michael

Andreas13 19. Feb 2020 17:55

AW: Console-Anwendung zerstört beim Absturz eigenen Quellcode
 
Zitat:

Zitat von TigerLilly (Beitrag 1457874)
Kann es sein, dass du DPR und DPROJ vermischt und deine Projektdatei als DPR anstelle von DPROJ abgespeichert hast?

Höchstwahrscheinlich war das die Ursache: Eine Vorlage als .dproj geöffnet und versehentlich als .dpr gespeichert! Künftig muss ich besser aufpassen…:oops:

Danke für Eure Hilfe!
Gruß, Andreas


Alle Zeitangaben in WEZ +1. Es ist jetzt 06: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