我可以将未知接口保存到指针吗?
例如,我有一个未知的接口,并希望将其保存到TreeNode数据?
var
X : Inknown;
Run Code Online (Sandbox Code Playgroud)
要保存:
....
Node:=TreeView1.Items.Add;
//Node.data:=x; //compiler won't allow this
Node.data:=@x;
...
Run Code Online (Sandbox Code Playgroud)
要得到 :
...
var
//X:=Node.data; //compiler won't allow this too
Pointer(X):=Node.data; //an exception caught
...
Run Code Online (Sandbox Code Playgroud) 我有一段代码如下所示:
接口部分:
TControlOrganizer = class(TComponent) // a kind of List of TControl
private
FList : TList; //Handling list of TControl
..............
end;
TControlHelperAdd = class // Just for separating value entered by user and value produced by code
private
FOrganizer : TControlOrganizer;
FOrigValue : String;
FUserValue : String;
end;
TControlHelper = class helper for TControl //Basic helper for TControl
private
class var
FAddProp : TControlHelperAdd;
protected
procedure SetOrganizer(Value : TControlOrganizer);
function getOrganizer:TControlOrganizer;
public
class Constructor doinit;
class Destructor deinit;
procedure …Run Code Online (Sandbox Code Playgroud) 有谁知道如何读的图像从.RES 文件在磁盘上,采用了德尔福计划?
请注意,我要求从磁盘上的.res文件中读取图像,而不是将资源嵌入Delphi Application并读取链接到可执行文件的资源文件.
我的意思是 :
不是这样的:
{$R resfile.res}
blablabla.LoadFromResourceName(HInstance, 'IMAGE_NAME');
Run Code Online (Sandbox Code Playgroud)
感谢您提供高级帮助.
只是好奇,我可以在Delphi中构建一个像Java Style一样的抽象类吗?
Java声明:
public abstract class Foo {
public abstract void test();
}
Run Code Online (Sandbox Code Playgroud)
使用方法:
public void testCsontruct() {
Foo clsfoo = new Foo(){
public void test(){
//....do something here
}
};
}
Run Code Online (Sandbox Code Playgroud)
德尔福声明:
Tfoo = class
public
procedure test; virtual; abstract;
end;
Run Code Online (Sandbox Code Playgroud)
使用方法:
procedure testUse;
var
foo:Tfoo;
begin
foo:=Tfoo.Create; //can we implement the test method here ? how?
end;
Run Code Online (Sandbox Code Playgroud) 我正在尝试从客户端使用 RESTClient(Delphi XE5,Windows 8)发送 JSON。但在服务器端,它作为文本/纯数据接收。
我正在尝试发送的 JSON:
{
"kind": "News",
"group": {
"id": "G01"
},
"title": "Latest News",
"content": "this is the latest news"
}
Run Code Online (Sandbox Code Playgroud)
在服务器端接收:
----------120515234155952
内容配置:表单数据;名称=“身体”
内容类型:文本/纯文本
内容传输编码:引用打印
{
"kind": "新闻",
“团体”: {
"id": "G01"
},
"title": "最新消息",
"content": "这是最新消息"
}
----------120515234155952
内容配置:表单数据;名称=“访问令牌”
内容类型:文本/纯文本
内容传输编码:引用打印
ya29.QQKUa6ZDsco2uDK2neuYdurolLF8LAPDjMZGTdF3bnDLOIgX1JQ8g-FxKtMLSF-gl=
MDY
----------120515234155952--
用于将 JSON 添加到 TRESTRequest 的代码:
var
........
RESTRequest : TESTRequest;
content : String;
........
begin
........
content:='{'+
' "kind": "News",'+
' "group": {'+
' "id": "G01"'+
' },'+
' "title": …Run Code Online (Sandbox Code Playgroud)