Banner->LoadAd(); 错误功能
Bug with Banner->LoadAd(); function
我知道我与 C++ 并不完全相关,但是在调用名为 LoadAd() 的函数时我遇到了一些麻烦。
我曾尝试在 OnTimer 中的计时器中使用此函数,在 OnFormShow 和 OnFormCreate 等事件中(是的,我知道它不能在该函数中,但我试过了)。但是,应用程序在执行此功能时总是会出现 FC(强制关闭)...有解决方案吗?
这是我的部分代码:
void __fastcall TfrmPrincipal::FormCreate(TObject *Sender)
{
// This defines the default active tab at runtime
abasPrinc->ActiveTab = abaDisp;
Auto = false;
Manual = false;
SEM_AD = false;
ad1->AdUnitID = "SECRET";
ad2->AdUnitID = "SECRET";
}
和:
void __fastcall TfrmPrincipal::FormShow(TObject *Sender)
{
ad1->LoadAd();
ad2->LoadAd();
}
声明 (Principal.h)
//---------------------------------------- ------------------------------
#ifndef PrincipalH
#define PrincipalH
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <FMX.Controls.hpp>
#include <FMX.Forms.hpp>
#include <FMX.ActnList.hpp>
#include <FMX.Gestures.hpp>
#include <FMX.StdCtrls.hpp>
#include <FMX.TabControl.hpp>
#include <FMX.Types.hpp>
#include <System.Actions.hpp>
#include <FMX.ListView.hpp>
#include <FMX.ListView.Types.hpp>
#include <FMX.MultiView.hpp>
#include <FMX.Advertising.hpp>
#include <FMX.Layouts.hpp>
#include <FMX.ListBox.hpp>
#include <FMX.Objects.hpp>
#include <FMX.Memo.hpp>
//---------------------------------------------------------------------------
class TfrmPrincipal : public TForm
{
__published: // IDE-managed Components
/* ... */
TBannerAd *ad1;
TBannerAd *ad2;
/* ... */
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormKeyUp(TObject *Sender, WORD &Key, System::WideChar &KeyChar,
TShiftState Shift);
/* ... */
void __fastcall FormShow(TObject *Sender);
/* ... */
private: // User declarations
public: // User declarations
__fastcall TfrmPrincipal(TComponent* Owner);
void adaptar();
int Num(unsigned char caractere);
void RedefInicio ();
};
//---------------------------------------------------------------------------
extern PACKAGE TfrmPrincipal *frmPrincipal;
//---------------------------------------------------------------------------
#endif
从现在开始非常感谢。
我发现了问题...
我使用的是旧的 AndroidManifest.template(我开始在 XE6 上构建此应用程序),因此一些声明为 ADMob 是不同的并没有奏效。
为了避免像我这样的情况,只需要删除最旧的自动生成的文件...
XD
我知道我与 C++ 并不完全相关,但是在调用名为 LoadAd() 的函数时我遇到了一些麻烦。 我曾尝试在 OnTimer 中的计时器中使用此函数,在 OnFormShow 和 OnFormCreate 等事件中(是的,我知道它不能在该函数中,但我试过了)。但是,应用程序在执行此功能时总是会出现 FC(强制关闭)...有解决方案吗?
这是我的部分代码:
void __fastcall TfrmPrincipal::FormCreate(TObject *Sender)
{
// This defines the default active tab at runtime
abasPrinc->ActiveTab = abaDisp;
Auto = false;
Manual = false;
SEM_AD = false;
ad1->AdUnitID = "SECRET";
ad2->AdUnitID = "SECRET";
}
和:
void __fastcall TfrmPrincipal::FormShow(TObject *Sender)
{
ad1->LoadAd();
ad2->LoadAd();
}
声明 (Principal.h)
//---------------------------------------- ------------------------------
#ifndef PrincipalH
#define PrincipalH
//---------------------------------------------------------------------------
#include <System.Classes.hpp>
#include <FMX.Controls.hpp>
#include <FMX.Forms.hpp>
#include <FMX.ActnList.hpp>
#include <FMX.Gestures.hpp>
#include <FMX.StdCtrls.hpp>
#include <FMX.TabControl.hpp>
#include <FMX.Types.hpp>
#include <System.Actions.hpp>
#include <FMX.ListView.hpp>
#include <FMX.ListView.Types.hpp>
#include <FMX.MultiView.hpp>
#include <FMX.Advertising.hpp>
#include <FMX.Layouts.hpp>
#include <FMX.ListBox.hpp>
#include <FMX.Objects.hpp>
#include <FMX.Memo.hpp>
//---------------------------------------------------------------------------
class TfrmPrincipal : public TForm
{
__published: // IDE-managed Components
/* ... */
TBannerAd *ad1;
TBannerAd *ad2;
/* ... */
void __fastcall FormCreate(TObject *Sender);
void __fastcall FormKeyUp(TObject *Sender, WORD &Key, System::WideChar &KeyChar,
TShiftState Shift);
/* ... */
void __fastcall FormShow(TObject *Sender);
/* ... */
private: // User declarations
public: // User declarations
__fastcall TfrmPrincipal(TComponent* Owner);
void adaptar();
int Num(unsigned char caractere);
void RedefInicio ();
};
//---------------------------------------------------------------------------
extern PACKAGE TfrmPrincipal *frmPrincipal;
//---------------------------------------------------------------------------
#endif
从现在开始非常感谢。
我发现了问题... 我使用的是旧的 AndroidManifest.template(我开始在 XE6 上构建此应用程序),因此一些声明为 ADMob 是不同的并没有奏效。 为了避免像我这样的情况,只需要删除最旧的自动生成的文件...
XD