2017-01-05 18 views
-3

私の会社はAndroidアプリケーションを開発するためにデルファイとfiremonkeyを使用しています。 私は基本的なアプリケーションを2つの画面で、画面Aから画面Bに行く可能性があります。 Javaではインテントを作成することは簡単ですが、私はFiremonkeyとDelphiでそれを行う方法はわかりません。 私は2つのユニット "project1"を1つ持っています。 "UnitA"と "UnitB"と言うと、パッケージは "com.embarcadero.project1"、classNameはデフォルトで "com.embarcadero.firemonkey.FMXNativeActivity"ですが、everyUnitにはclassNameが1つありますか? ユニットBに行くためにどのクラス名をインテントに渡す必要がありますか? (自動的に作成されたAndroidManifest.xmlにはFMXNativeActivityがデフォルトで設定されています)FIREMONKEY android同じプロジェクターからの活動を切り替える方法

+0

製品に付属するサンプルに複数のフォームを使用するサンプルがあります。 10.1 Berlinでは、C:¥Users¥Public¥Documents¥Embarcadero¥Studio¥18.0¥Samples¥Object Pascal¥Multi-Device Samples¥User Interface¥Forms –

+0

にあります。FMXNativeActivityは、FMXフレームワークでアプリケーションを表示するためのベースです。プロジェクトの残りのフォームはすべてフレームワークによって描画され、アクティビティではありません(FMXアプリケーションはNDKとOpenGLを使用して完全なユーザーインターフェイスを作成します。上記の例に従い、IDE(プロジェクト/オプション/フォーム/メインフォーム)で設定できる開始フォームを選択するだけです。 – zdzichs

答えて

0

あなたが書いたすべてを理解するのは難しいですが、プロジェクトに2つの.pasがあり、もう一つは、私が切り替えるには2つの方法を知っている:

最初の方法を:あなたはレイアウトを使用します:UNITAに、あなたはたとえば、空のレイアウト(LayoutAを入れて、あなたは

if not Assigned(FormUnitB) then 
    FormUnitB:= TFormUnitB.Create(self); 

FormUnitB.ShowModal(
    procedure(ModalResult: TModalResult) 
    begin 
     if ModalResult = mrOK then 
      //nothing here, when you want to close you write it in the modal 
    end); 

第二の方法モーダルウィンドウを開くことができます)。 UnitBでは、別のレイアウト(LayoutB)、その意志は、UnitBのすべてのコンポーネントが含まを入れて、あなたがUnitBを表示したいとき、あなたはLayoutA

LayoutA.AddObject(FormUnitB.LayoutB); 

ノートにLayoutBを置く:あなたはこれを行うにはUnitAがUnitBを使用するように指定する必要があります。

関連する問題