![]() |
ENGLISH VERSION |
|
![]() |
Links | | | Forum | | | Kommentare | | | News melden |
![]() |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
![]() |
amiga-news.de Forum > Programmierung > Examine | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
-1- | [ - Beitrag schreiben - ] |
15.05.2007, 14:20 Uhr Kaesebroetchen Posts: 643 Nutzer |
Ich habe unter AROS folgendes Problem. Um die Größe einer Datei herauszufinden bevor ich Sie geladen habe, möchte ich die Examine Funktion verwenden. Bedauerlicherweise führt das unmittelbar zu einem Komplettabsturz. Hier ist mein Code Mache ich da irgenwas grundsätzliches falsch ? -- http://amidevcpp.amiga-world.de/ [ - Antworten - Zitieren - Direktlink - ] |
15.05.2007, 14:37 Uhr gni Posts: 1106 Nutzer |
Zitat:Versuchs mal so: struct FileInfoBlock MurksFib; ... Examine( BPTRFileLock, &MurksFib ); return MurksFib.fib_Size; und selbst das hat noch Potential für Nichtfunktionieren, da der FileInfoBlock langwortausgerichtet sein muß, dh. man braucht noch eine __aligned Direktive, die jedoch Compilerabhängig ist. Wenn Du das alles umgehen möchtest, dann allokierst Du den FileInfoBlock per AllocDosObject(), den Du dann natürlich per FreeDosObject() wieder freigeben mußt. [ - Antworten - Zitieren - Direktlink - ] |
15.05.2007, 14:50 Uhr Kaesebroetchen Posts: 643 Nutzer |
@gni: Ah, Danke das funktioniert ! Aus AllocDosObject werde ich nicht so recht schlau. Die Dokumentation ist da recht spärlich: Zitat: Ich finde da wäre ein Beispiel ganz nett... -- http://amidevcpp.amiga-world.de/ [ - Antworten - Zitieren - Direktlink - ] |
15.05.2007, 15:13 Uhr gni Posts: 1106 Nutzer |
Zitat:Da steht doch alles drin, was Du wissen mußt? Welche Werte "type" annehmen kann, ist in dos/dos.h dokumentiert (zb. DOS_FIB). Die Tagliste kann leer bleiben, entweder per NULL Argument oder eine leere Tagliste, die nur TAG_END enthält. [ - Antworten - Zitieren - Direktlink - ] |
15.05.2007, 15:28 Uhr Kaesebroetchen Posts: 643 Nutzer |
@gni: z.B. das type in dos.h dokumentiert ist hätte auch ruhig da stehen können ![]() Danke für den Hinweis! -- http://amidevcpp.amiga-world.de/ [ - Antworten - Zitieren - Direktlink - ] |
15.05.2007, 18:30 Uhr MaikG Posts: 5172 Nutzer |
Mit Seek bekommst du auch die größe ohne die Datei in den Speicher zu laden. [ - Antworten - Zitieren - Direktlink - ] |
16.05.2007, 08:00 Uhr gni Posts: 1106 Nutzer |
Zitat:Schlechter Rat. Abhängig vom Dateisystem ist Seek() um ein Vielfaches langsamer als Examine(). [ - Antworten - Zitieren - Direktlink - ] |
16.05.2007, 09:53 Uhr MaikG Posts: 5172 Nutzer |
>Schlechter Rat. Abhängig vom Dateisystem ist Seek() um ein Vielfaches langsamer als Examine(). Aha, ist aber einfacher - weil wenn ich sogar mit Seek umgehen kann :-) [ - Antworten - Zitieren - Direktlink - ] |
-1- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > Examine | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
![]() |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2025 by amiga-news.de - alle Rechte vorbehalten. |
![]() |