Typisierte Datei unter Delphi 8 öffnen
Hallo,
ich versuche mit folgendem Qelltext eine Variable unter Delphi 8 zu deklarieren, leider bekomme ich die Fehler- meldung Spach-Feature wird nicht unterstützt: typisierte und untypisierte Datei.
Delphi-Quellcode:
Was kann ich da machen um eine Datei zu öffnen? :wiejetzt:
var TerminFile: File of TTerminData;
|
Re: Typisierte Datei unter Delphi 8 öffnen
Delphi 8 benutzt ausschließlich das .NET-Framework. Schau dir mal den Namespace System.IO an, der enthält Klassen zum Umgang mit Dateien.
|
Re: Typisierte Datei unter Delphi 8 öffnen
Zitat:
Hab D8 nicht. Habe aber mal gelesen, dass man alles in unsafe packen könnte, was unsicheren Code darstellt. Geht das in dem Fall nicht ? |
Re: Typisierte Datei unter Delphi 8 öffnen
Keine Ahnung. Ich habe auch kein Delphi8 und weiß nicht, welche Sprachelemente nicht mehr zulässig sind. Aber typisierte Dateien als "unsafe" zu deklarieren, sofern das in Delphi.NET überhaupt geht, wäre einen Versuch wert.
|
Re: Typisierte Datei unter Delphi 8 öffnen
File of Type geht auch in unsafe Blöcken nicht.
Da nur der JIT-Compiler die genaue Datengrösse (die je nach Zielsystem anders ein kann) kennt, kann der Delphi Compiler File of Type nicht mehr unterstützen auch nicht in unsafe Blöcken. Bernd |
Re: Typisierte Datei unter Delphi 8 öffnen
Danke Bernd,
aber wie kann ich denn nun ungefähr die selbe Lösung finden? |
Re: Typisierte Datei unter Delphi 8 öffnen
Im .NET System würde man die Daten in eine Klasse verpacken und nicht in einen Record
und diese Klasse dann mit Attribut Serializable kennzeichnen. Dann kann die Klasse über die Methode Serialize eines Formatters (zb BinaryFormatter) in einen Dateistream geschrieben werden Bernd |
Re: Typisierte Datei unter Delphi 8 öffnen
es gibt kein TFileStream mehr ???
und was mach ich, wenn ich nicht die ganze Datei mit einem Mal in den Speicher laden kann weil sie zu groß ist ? . |
Re: Typisierte Datei unter Delphi 8 öffnen
TFilestream gäbe es auch noch. Der liest unter .NET auch ein Array of Byte ein -
nur musst du dann die Bytes wieder in den record prökeln... Einfach so in Buffer vom Typ Pointer einlesen geht nicht - wegen der Typisierung des .NET Systems |
Re: Typisierte Datei unter Delphi 8 öffnen
Zitat:
gibt es dann file of byte ? oder ist File of generell gesperrt ? Danke ! |
Re: Typisierte Datei unter Delphi 8 öffnen
Zitat:
sowas wie BlockRead/BlockWrite/GetMem/FreeMem/untypsierte Var-Parameter etc pp unter .NET Zitat:
Bernd |
Re: Typisierte Datei unter Delphi 8 öffnen
Code:
BlockRead ? Kann das sein, dass das mit Pointern arbeitet ? :lol: Vergiss einfach
sowas wie BlockRead/BlockWrite/GetMem/FreeMem/untypsierte Var-Parameter etc pp unter .NET Sind denn generell alle Pointer verboten, oder nur untypisierte ? Funktioniert das Beispiel Grabline im Link noch, wenn man mit unsafe arbeitet ? http://www.swissdelphicenter.ch/de/showcode.php?id=1628 Danke ! |
Re: Typisierte Datei unter Delphi 8 öffnen
untypisierte Pointer sind verboten. Pointer an sich gibt es noch
und in unsafe Abschnitten ist auch Pchar möglich. Das Beispiel funktioniert nicht, u.a. wegen ReadBuf Bernd |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:00 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