Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Large_Integer SetFilePointerEx Error 183 (https://www.delphipraxis.net/192158-large_integer-setfilepointerex-error-183-a.html)

EWeiss 23. Mär 2017 20:10

AW: Large_Integer SetFilePointerEx Error 183
 
Zitat:

Zitat von Luckie (Beitrag 1365356)
Dazu gibt es bestimmt in Netz Tutorials.

Möglich aber wofür haben wir hier das Forum ?
Wenn ich alles im Netzt suche brauche ich nicht hier Angemeldet zu sein oder?
Zumal das dann andere davon auch profitieren könnten.

gruss

Neutral General 23. Mär 2017 20:35

AW: Large_Integer SetFilePointerEx Error 183
 
Würde ich so nicht sagen.
Die Forenmitglieder sind ja nicht dein persönliches Tutorial.
Foren sind da um Fragen zu speziellen Problemen zu stellen, nicht um komplette Themen zu lernen ;)

TFileStream ist auch nicht wirklich schwer zu benutzen. Es gibt sicher Tutorials aber ich denke man kann da im Zweifelsfall auch allein ganz gut zurecht kommen wenn man sich die Klasse mal anschaut und ein bisschen ausprobiert.

Luckie 23. Mär 2017 20:53

AW: Large_Integer SetFilePointerEx Error 183
 
Verständnisfragen sind hier immer willkommen. Meine Tutorials sind aus meiner Neugier entstanden.

Zacherl 23. Mär 2017 21:12

AW: Large_Integer SetFilePointerEx Error 183
 
Im Grunde ist
Delphi-Quellcode:
TFileStream
recht simpel: Der Constructor ist das Äquivalent zu MSDN-Library durchsuchenCreateFile, MSDN-Library durchsuchenSetFilePointer ist
Delphi-Quellcode:
Seek
, MSDN-Library durchsuchenReadFile ist
Delphi-Quellcode:
Read
und MSDN-Library durchsuchenGetFileSize einfach
Delphi-Quellcode:
TFileStream.Size
. Die Parameter sind ebenfalls recht ähnlich.

EWeiss 23. Mär 2017 21:13

AW: Large_Integer SetFilePointerEx Error 183
 
Will mich jetzt nicht hier rumstreiten. Sei's drum.
Definitiv ist aber mit dem Stream in welcher weise er auch generiert wird etwas nicht in Ordnung.
Muss noch was ackern und analysieren hab ja sonst nix zu tun.
siehe Pic

Zitat:

Meine Tutorials sind aus meiner Neugier entstanden.
Die hast du hier aber auch groß breitgetreten wie auch immer.
Aber andere dürfen ihre Themen nicht ausleben ok kein Problem für mich. :cheers: wird jetzt OT:

gruss

EWeiss 23. Mär 2017 21:23

AW: Large_Integer SetFilePointerEx Error 183
 
Zitat:

Zitat von Zacherl (Beitrag 1365368)
Im Grunde ist
Delphi-Quellcode:
TFileStream
recht simpel: Der Constructor ist das Äquivalent zu MSDN-Library durchsuchenCreateFile, MSDN-Library durchsuchenSetFilePointer ist
Delphi-Quellcode:
Seek
, MSDN-Library durchsuchenReadFile ist
Delphi-Quellcode:
Read
und MSDN-Library durchsuchenGetFileSize einfach
Delphi-Quellcode:
TFileStream.Size
. Die Parameter sind ebenfalls recht ähnlich.

Danke dir für die Infos.
Muss mich damit mal beschäftigen auch wenn es nicht gerade von Erfolg gekrönt ist.

gruss

EWeiss 23. Mär 2017 21:55

AW: Large_Integer SetFilePointerEx Error 183
 
Ich habe mich jetzt mal drangegeben.. Bisher sieht es so aus.

Delphi-Quellcode:
    //if FOpen(PWideChar(wsFile), 0, 0, hFileIn) = 0 then
    FileStream := TFileStream.Create(wsFile, fmOpenRead);
    if FileStream.Handle <> 0 then
    begin
      DC := CreateIC('DISPLAY', nil, nil, nil);
      ImgHDC := CreateCompatibleDC(DC);

      hDIB := SKAERO_CreateDIBSection(ImgHDC, anih.Width * anih.Frame, anih.Height, 32);
      SelectObject(ImgHDC, hDIB);
      if GDIP_CreateFromHDC(ImgHDC, Graphics) = OK then
      begin
        BufferSize := FileStream.Size - anih.offset - sizeof(anih) + 1;
        SetLength(sBuffer, BufferSize);
        FileStream.Seek(anih.offset - 1, soFromBeginning);
        FileStream.Read(sBuffer, BufferSize); //BufferSize sollte in Ordnung sein da kleiner wie FileStream.Size
        //if FGetAt(FileStream.Handle, anih.offset - 1, sBuffer) = S_OK then
        //begin
FileStream.Read füllt den sBuffer nicht der als TBytes definiert ist.

gruss

Uwe Raabe 23. Mär 2017 23:04

AW: Large_Integer SetFilePointerEx Error 183
 
Zitat:

Zitat von EWeiss (Beitrag 1365378)
FileStream.Read füllt den sBuffer nicht der als TBytes definiert ist.

Das muss ja auch so heißen:
Delphi-Quellcode:
        FileStream.Read(sBuffer[0], BufferSize);

EWeiss 23. Mär 2017 23:08

AW: Large_Integer SetFilePointerEx Error 183
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1365406)
Zitat:

Zitat von EWeiss (Beitrag 1365378)
FileStream.Read füllt den sBuffer nicht der als TBytes definiert ist.

Das muss ja auch so heißen:
Delphi-Quellcode:
        FileStream.Read(sBuffer[0], BufferSize);

Danke Uwe habe es im anderen Thread schon bereinigt ;)

grusss


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 Uhr.
Seite 3 von 3     123   

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