![]() |
Photo laden kehrt nicht zurück
Hi, ich bin gerade dabei die ersten Schritte in Firemonkey zu machen und mal eine kleine App für IOS zu entwickeln (eher zum Selbststudium).
Leider scheitere ich schon bei den ersten Schritten. Das mit den Zertifikaten habe ich ja mittlerweile hinbekommen, und es lassen sich DemoApps sowohl im Simulator als auch auf meinem IPhone erzeugen. Jetzt scheitere ich aber schon allein bei einer eigentlich recht einfachen Aufgabe, finde aber leider bei Google nix was mir auf dir Sprünge hilf. Das PhotoEditorDemo von Embarcadero läuft einwandfrei, sowohl auf Simulator als auch auf dem Iphone. Jetzt habe ich mal meine kleine TestApp angefangen und möchte auch einfach ein Photo (entweder aus Album oder von Kamera) darstellen. Ich habe eine MainForm aus der ich eine weiter Form mittel ShowModal aufrufe. In dieser habe ich dann zwei Button (einen für Album einen für Kamera). Ich habe eine entsprechende Actionlist und alle notwendigen Actions definiert. Für die Kamera also:
Delphi-Quellcode:
Wenn ich nun auf den Button drücke, dann wird auch brav der entsprechende Dialog von IOS bereitgestellt, aber wenn ich dort auf Verwenden drücke, dann geht nix mehr. Das gleich passiert beim Album.
procedure TForm2.TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap);
var ScaleFactor: Single; begin ScaleFactor := Image.Width / 1024; Image.Resize(Round(Image.Width / ScaleFactor), Round(Image.Height / ScaleFactor)); ImageViewer1.Bitmap.Assign(Image); end; Wenn man die Anwendung jetzt aber mit dem Homebutton in den Hintergrund schickt und sie wieder hervorholt, dann kann ich mich im IOS-Dialog (wo man das Foto skalieren kann) wieder bewegen und eine neues von der Kamera holen. Beim drücken von Verwenden passiert aber wieder das gleiche. Auch Abbrechen ist nicht möglich. Aber der Fehler muß ja definitiv bei mir liegen, denn im Demo von Embarcadero funktionierts ja. Kann mir einer helfen? Wo könnte mein Fehler liegen. |
AW: Photo laden kehrt nicht zurück
hat keiner eine Idee? Oder habe ich mich zu schlecht ausgedrückt?
|
AW: Photo laden kehrt nicht zurück
Hi,
ich würde nicht das Image das von der Kamera übergeben bekommst verändern (das gehört ja dem Kamera Thread). Ändere das, was Du deinem Imageviwer übergeben hast bzw über eine lokale Bitmap als Puffer, damit es nicht flackert! |
AW: Photo laden kehrt nicht zurück
Mein Problem ist ja, dann auch nur
Delphi-Quellcode:
schon nicht funktioniert.
procedure TForm2.TakePhotoFromCameraAction1DidFinishTaking(Image: TBitmap);
begin ImageViewer1.Bitmap.Assign(Image); end; Und ich habe das aus dem Beispiel von Embarcadero. Deswegen muß ich da irgendwo einen Fehler haben. Aber leider weiß ich nicht, wo ich suchen könnte, denn der Aufruf als solcher Funktioniert ja. |
AW: Photo laden kehrt nicht zurück
Liste der Anhänge anzeigen (Anzahl: 1)
Ich habe mal ein Testproject erstellt, um zu testen, was ich wohl falsch gemacht haben könnte.
Die kleine App besteht lediglich aus 2 Formularen die im Grunde identisch sind. Beide sollen sich ein Foto von Camera oder Library holen und in einem Image darstellen. Die 2. Form wir mit ShowModal aufgerufen. In der 1. Form kann man ein Bild machen und alles funktioniert wie erwartet. In der 2. Form entsteht oben genanntes Problem. Erstellt mit XE4 und getestet auf iPhone4 und iPhone4S. Kenn jemand dieses nachvollziehen und hat die gleichen Probleme? Bzw. weiß jemand vielleicht warum das so ist? Ich habe den Source mal angehängt. |
AW: Photo laden kehrt nicht zurück
So ich habe mir dein Projekt mal angeschaut :idea:
Lösung: mach die Form2 nicht mit ShowModal, sondern mit Show auf:
Code:
in Form2 kein ModalResult setzten sondern Form1.Show; um das erste Fenster wieder zu sehen:
procedure TForm1.btn4Click(Sender: TObject);
begin Form2.Show; end;
Code:
Siehe da mehr muss man nicht ändern, damit dein Projekt geht!
procedure TForm2.btn4Click(Sender: TObject);
begin form1.show; end; Warum kein ShowModal: in iOS kann man ja keine 2 Fenster gleichzeitig haben, deshalb nur Show und dein Showmodal blockiert die Fotoaction .... |
AW: Photo laden kehrt nicht zurück
Aaaah....okay. Das wusste ich nicht.
Ich hatte in meiner Naivität erwartet, dass Firemonkey schon im Designer auf sowas hinweisen würde. Also auf Methoden, die unter der eingestellten Zielplattform nicht zulässig sind. Aber okay, auf zum nächsten Problem :-) Danke dir aber für deine Hilfe. |
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