![]() |
Datein zur Laufzeit laden
Hallo,
ich habe ein Problem Datein in iOS zur Laufzeit zu laden. Habe das ganze mit einem Bitmap und Testweise auch mit einer Textdatei probiert.
Delphi-Quellcode:
Und die Textdatei:
image:=fmx.graphics.tbitmap.CreateFromFile(TPath.GetHomePath+'/Horizon_Background.bmp');
try PaintBox1.Canvas.DrawBitmap(image, RectF(0,0,image.Width,image.Height), RectF(0,0,image.Width,image.Height), 255); finally image.Free; end;
Delphi-Quellcode:
Ich bekomme beim Laden immer eine Fehlermeldung.
Memo1.Lines.Loadfromfile(TPath.GetHomePath+'/test.txt');
-Fehler beim Laden des Bitmaps -...test.txt is no such file or directory Weiß jemand wie man in Firemonkey die Datein laden kann? |
AW: Datein zur Laufzeit laden
Pfade verbinden besser so
Delphi-Quellcode:
TPath.Combine(TPath.GetHomePath, 'test.txt')
Das achtet auf den "richtigen" Path-Delimiter und ob am "HomePath" schon ein / oder \ dran hängt. "eigentlich" war es im Delphi mal so, dass xxxDir keinen abschließenden Delimiter besitzt und xxxPath besitzt einen, aber Boland/CodeGear/Embarcadero haben da manchmal bissl "Mist" gebaut und ihre eigenen Pläne nicht richtig durchgesetzt. Und hat dein Programm auch Zugriff auf das HomePath-Verzeichnis? |
AW: Datein zur Laufzeit laden
Ich habe das schon mit
Delphi-Quellcode:
probiert, half leider auch nicht.
TPath.Combine(TPath.GetHomePath, 'test.txt')
Falls ich wirklich kein Zugriff auf mein Home Verzeichnis haben sollte, wie kann ich das denn ändern? Habs auch schon mit
Delphi-Quellcode:
und die Datein in StartUp/Documents kopiert, funktioniert aber auch nicht.
TPath.GetDocumentsPath
|
AW: Datein zur Laufzeit laden
Bist du sicher das es wirklich da ist
Delphi-Quellcode:
?
FileExists(...)
Rollo |
AW: Datein zur Laufzeit laden
Ja ich bin mir sicher, dass die Datei da ist.
Konnte jetzt eine Textdatei laden die sich im Documents Ordner befindet. Leider lassen sich aber immer noch keine Bitmaps von da laden. Die Datein habe ich überigens mit dem Bereitstellungsassistenten der Anwendung hinzugefügt. |
AW: Datein zur Laufzeit laden
Versuchs mal damit:
Delphi-Quellcode:
function Bmp_LoadFromStream( const aStrm : TStream;
var bmp : TBitmap; const sExt : String) : Int64; var aBCM: TBitmapCodecManager; aBMS: TBitmapSurface; begin Result := 0; if not Assigned(aStrm) or not Assigned(bmp) then Exit; aBCM := TBitmapCodecManager.Create; aBMS := TBitmapSurface.Create; try begin if aBCM.LoadFromStream( aStrm, aBMS ) then // This is no more reches begin Result := aStrm.Size; // the Operation was OK so far end else begin Result := 0; // the Operation was NOT OK end; end; if Result > 0 then begin // Copy was OK, so do Assign bmp.Assign( aBMS ); end; finally aBMS.Free; aBCM.Free; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:13 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