Autor Beitrag
Xearox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260
Erhaltene Danke: 3



BeitragVerfasst: Do 22.05.14 23:10 
Hallo,

da bisher noch nichts hier gepostet wurde, hoffe ich, das hier der ein oder andere doch weiß, wo hier das Problem liegt.

Und zwar wollte ich eine relativ kleine TestApp für Android herstellen, allerdings scheitert es bereits am Anfang :/

Ich möchte, bei Programm aufruf, ein Bestimmtes Bild anzeigen lassen.

Die mache ich mit
ausblenden Delphi-Quelltext
1:
Rectangle1.Fill.Bitmap.Bitmap.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'bild.jpg');					


Das klappt allerdings nicht so, als Win32 Anwendungs funktioniert es allerdings.

Darauf hin habe ich mal im Netz geschaut und habe heraus gefunden, das man zum einen mit dem Bereitstellungs-Manager arbeiten sollte, wenn man Bilder während der Laufzeit hinzufügen möchte. Dies habe ich auch getan und das Bild dort eingefügt. Außerdem soll man
ausblenden Delphi-Quelltext
1:
assets\internal\					

vor den Dateinamen machen.

So, allerdings klappt das auch nicht. Also hab ich das mit dem Bild erstmal sein gelassen und stattdessen
ausblenden Delphi-Quelltext
1:
Rectangle1.Fill.Color := TAlphaColors.Blueviolet;					


genommen, doch auch das funktioniert nicht. Und das nun weder in Win32 noch auf Android.

Und jetzt weiß ich nicht mehr weiter.
Wenn ich z.b. auf der Form direkt die Komponente in eine andere Farbe ändere, wird auch das nicht direkt übernommen, da passiert ehrlich gesagt, garnichts.

Wenn ich das ganze nun statt Mobile FireMonkey direkt als VCL Anwendung mache, funktioniert alles Einwandfrei, soweit ich es bisher getestet hab.

Hier der Gesamte Code

ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
unit Unit1;

interface

uses
  System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
  FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Objects,
  FMX.StdCtrls;

type
  TForm1 = class(TForm)
    GeldLable: TLabel;
    GeldAnzahl: TLabel;
    Timer1: TTimer;
    Rectangle1: TRectangle;
    Rectangle2: TRectangle;
    procedure FormCreate(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Rectangle1Click(Sender: TObject);

  private
    { Private-Deklarationen }
  public
    procedure BildDarstellen;
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
var
  GeldGesamt, GeldProClick : double;
{$R *.fmx}

procedure TForm1.BildDarstellen;
begin
  Rectangle1.Width := 150;
  Rectangle1.Height := 150;
  Rectangle1.Stroke.Kind := TBrushKind.bkSolid;
  Rectangle1.Fill.Color := TAlphaColors.Blueviolet;
  //Rectangle1.Fill.Bitmap.Bitmap.LoadFromFile(ExtractFilePath(ParamStr(0)) + 'bild.jpg'); Erstmal weglassen, kann nicht geladen werden
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  BildDarstellen;
  Geldgesamt := 0;
  GeldProClick := 1;
end;

procedure TForm1.Rectangle1Click(Sender: TObject);
begin
  GeldGesamt := GeldProClick + GeldGesamt;
end;

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  GeldAnzahl.Text := Floattostr(GeldGesamt);
end;

end.


Weiß hier jemand evtl. wieso das in einer VCL Anwendung funktioniert allerdings nicht in einer Mobile FireMonkey Anwendung?

Danke =)

Edit: Das mit den Farben konnte ich bereits Lösen, allerdings funktioniert das mit dem Bild immer noch nicht.
Xearox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260
Erhaltene Danke: 3



BeitragVerfasst: Sa 31.05.14 14:33 
Moin moin,

jetzt nach über einer Woche, habe ich es leider immer noch nicht hinbekommen, ein Bild auf einem Android Gerät dazustellen.

Ich weiß einfach nicht, woran es liegt. Ich habe das Bild in Diverse Ordner kopiert, allerdings hat alles nichts gebracht.

Hat hier wirklich keine eine Idee?
Xion
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
EE-Maler
Beiträge: 1952
Erhaltene Danke: 128

Windows XP
Delphi (2005, SmartInspect), SQL, Lua, Java (Eclipse), C++ (Visual Studio 2010, Qt Creator), Python (Blender), Prolog (SWIProlog), Haskell (ghci)
BeitragVerfasst: Sa 31.05.14 14:47 
Guck mal da:
qc.embarcadero.com/w...qcmain.aspx?d=118050

Scheinbar klappt das mit ParamStr(0) unter Android nicht.

_________________
a broken heart is like a broken window - it'll never heal
In einem gut regierten Land ist Armut eine Schande, in einem schlecht regierten Reichtum. (Konfuzius)
cbspeda
Hält's aus hier
Beiträge: 1



BeitragVerfasst: So 13.07.14 15:20 
Bei Android oder IOS werden oder dürfen die Dateien nichts Programmverzeichnis:

IN Android oder IOS oder Windows:

System.IOUtils.TPath.Combine(System.IOUtils.TPath.GetDocumentsPath, 'datei.jpg');

Man muss die Datein über die Bereitstellungsfunktion mit Transferieren dann läuft dies ohne Probleme auch unter Windows