![]() |
Bitmapgröße via Stream in WIN und LINUX effizient auslesen
mit diesem Code lesen wir sehr schnell die Größe einer Bitmap Datei aus, klappt unter WINDOWS perfekt.
Delphi-Quellcode:
function ReadBitmapsize(......);
var f: TFileStream; Buff: array [0 .. 10] of byte; begin f := TFileStream.Create(FullName, fmOpenRead); try f.Seek(18, soFromBeginning); f.Read(Buff, 8); result.x := Buff[1] * 256 + Buff[0]; result.y := Buff[5] * 256 + Buff[4]; finally FreeAndNil(f); end; end; Wenn ich jetzt für LINUX compiliere bekomme ich folgende Fehlermeldung :
Delphi-Quellcode:
[DCC Error] E2251 Ambiguous overloaded call to 'Seek'
System.Classes.pas(983): Related method: function TStream.Seek(LongInt; Word): LongInt; System.Classes.pas(985): Related method: function TStream.Seek(const Int64; Word): Int64; wie bekomme ich diesen code auf beiden Plattformen lauffähig ... mit minimaler Codeanpassung :-) |
AW: Bitmapgröße via Stream in WIN und LINUX effizient auslesen
Hast du mal geprüft was passiert, wenn du die 18 in deinem Aufruf castest?
z.B. Int64(18) ? Dann wird's evtl. eindeutig für den Compiler was er aufrufen soll. |
AW: Bitmapgröße via Stream in WIN und LINUX effizient auslesen
Hallo,
oder definiere eine lokale Variable mit dem passenden Datentyp. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 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