如何修复此错误?
代码:
Intent *JIntent; //main.h
//menu.cpp
Intent = new JIntent(this); //Error
并创建类:
class TestClass
{
public:
JIntent *MyIntent;
JService *MyService;
virtual int FuncClass() = 0;
};
int TestClass::FuncClass() {
MyIntent = new JIntent(this);
MyService = new JService(this);
}
不起作用。我不明白这一点。
答案 0 :(得分:0)
JIntent
和JService
是抽象接口,您无法直接实例化它们。对于JIntent
,您必须实例化TJIntent
类,并将其分配给_di_JIntent
变量(包装接口以处理引用计数);
#include <Androidapi.JNI.App.hpp>
#include <Androidapi.JNI.GraphicsContentViewText.hpp>
class TestClass
{
public:
_di_JIntent MyIntent;
_di_JService MyService;
virtual int FuncClass() = 0;
};
int TestClass::FuncClass() {
MyIntent = new TJIntent;
MyService = ...;
}
话虽如此,JService
代表Android的Service
类。有一个伴随的TJService
类,但它意味着派生,而不是实例化。 Delphi / C ++ Builder本身并不支持实现Android服务,尽管技术上可以通过一些额外的工作(涉及Java存根)来实现:
答案 1 :(得分:-1)
这是怎么解决的?这个错误.. JIntent - 类
#include<Androidapi.JNI.App.hpp> //JService
#include<Androidapi.JNI.GraphicsContentViewText.hpp> //JIntent
这是FireMonkey