AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Assignfile: Datei nicht gefunden

Offene Frage von "hoika"
Ein Thema von OduLiep · begonnen am 8. Feb 2021 · letzter Beitrag vom 9. Feb 2021
Antwort Antwort
Benutzerbild von himitsu
himitsu

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

AW: Assignfile: Datei nicht gefunden

  Alt 8. Feb 2021, 20:08
Wie gesagt, AssignFile macht garnichts, außer den String zu kopieren.
Da wird garnichts mit irgendwelchen Handles gemacht.
(jedenfalls im Delphi ... k.A. wie das im Lazarus/FreePascal aussieht, aber sollte dort eigentlich nicht viel anders sein)



Neue Projekte haben im Delphi inzwischen "leider" im Debug-Modus die Debug-DCUs aktiv, also die Debug-Infos auch der System-Units sind vorhanden.
Kann man auch manuell in den Projekt-Optionen anschalten.

Oder oben in "Ansicht" schauen, auf den Assembler umschalten und dann dort mit F7/F8 weiter.
Da sieht man dann ganz genau, was wirklich passiert.


[ADD]
Man kann die geniereischen Typen File bzw. Text in die internen Typen casten.
TFileRec(DeineFileVariable) bzw. TTextRec(DeineFileVariable)
Das dürfte auch im Debugger, in den "überwachten Ausdrücken", möglich sein.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 8. Feb 2021 um 20:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Assignfile: Datei nicht gefunden

  Alt 8. Feb 2021, 20:16
Ach ja, seit Delphi 2009 sind Char/String/PChar nun Unicode (vorher war es ANSI),
also die Chars sind nun doppelt so groß.
vor 2009: String=AnsiString und Char=AnsiChar
seit 2009: String=UnicodeString und Char=WideChar

Such einfach m Forum mal nach Unicode-Umstellung und Dergleichen.

Wenn irgendwo die "Chars" (StringInhalte) manuell zugegriffen/kopiert/geschrieben werden, dann muß man an diesen Stellen aufpassen, mit Delphi ab D2009 und Delphi/TurboPascal davor.
Hier ein aktuelles Beispiel: https://www.delphipraxis.net/206908-...-62-bytes.html
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
OduLiep

Registriert seit: 7. Feb 2021
4 Beiträge
 
#3

AW: Assignfile: Datei nicht gefunden

  Alt 8. Feb 2021, 20:24
Dass AssignFile nur dem logischen Filenamen die physikalisceh Adresse zuornet, ist klar.
Kann man die Zuordnung nur über Deinen Assembler Hinweis überprüfen? Oder gibt es dafür ggf. einen Delphi Befehl?
Ich scheue mich etwas im Assembler rumzu"gurken"

Aber der Hinweis mit UniCode könnte zielführend sein. Damit hatte ich vor langer Zeit mal ein Problem, was sich ber merkwürdigerweise von selbst löste, da bin ich auch auf das UniCode Problem gestoßen.

Aber das kann er doch erst merken, wenn er schreibt, oder?
Habe gerade das Assignfile und ads rewrite an den Anfang verschoben (ich hatte es nur runtergezogen, um die ganze Misere auf einem Bildschirm zu haben). Da oben geht es problemlos durch. Jetzt wird der Fehler "Datei nicht gefunden" beim ersten writeln(kfile erzeugt.
Das macht zumindest wieder Sinn...

Habe in der Zwischen zeit auch den log. Filenamen noch mal komplett ausgetauscht, bringt auch nichts...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Assignfile: Datei nicht gefunden

  Alt 8. Feb 2021, 21:44
Da selbst die CommunityEdition nun die Quellcodes dabei hat, kann man hierfür problemlos in der System.pas nachsehn.

Wenn knallt, dann wäre mindestens ein Blick in den Stacktrace empfehlenswert.
Und zur Laufzeit, außerhalb des Debuggers, sind Hilfen wie Eurekalog, MadExcept oder Dergleichen bestimmt nützlich.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 8. Feb 2021 um 21:47 Uhr)
  Mit Zitat antworten Zitat
hoika

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

AW: Assignfile: Datei nicht gefunden

  Alt 9. Feb 2021, 05:11
Hallo,
dann klammer alles aus außer dem relevanten Code.
Wenn es dann immer noch knallt,
mach ein minimales Beispiel und stell es hier rein.
Heiko
  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 15:53 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