小编the*_*sap的帖子

如何将未知接口保存到指针?

我可以将未知接口保存到指针吗?

例如,我有一个未知的接口,并希望将其保存到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)

delphi pointers interface

7
推荐指数
2
解决办法
857
查看次数

Delphi XE2中的类助手和类拦截器

我有一段代码如下所示:

接口部分:

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)

delphi delphi-xe2

4
推荐指数
1
解决办法
3897
查看次数

Delphi:如何从".res文件"中读取图像,而不是嵌入式资源

有谁知道如何图像从.RES 文件在磁盘上,采用了德尔福计划?

请注意,我要求从磁盘上的.res文件中读取图像,而不是将资源嵌入Delphi Application并读取链接到可执行文件的资源文件.

我的意思是 :

  1. 磁盘上的.res文件的文件名和路径,打开.res文件并对其进行解码,以便...
  2. 找到图像.
  3. 加载图像

不是这样的:

{$R resfile.res}    

blablabla.LoadFromResourceName(HInstance, 'IMAGE_NAME');
Run Code Online (Sandbox Code Playgroud)

感谢您提供高级帮助.

delphi

3
推荐指数
1
解决办法
1681
查看次数

Delphi:像Java一样构造抽象类

只是好奇,我可以在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)

java delphi abstract-class

2
推荐指数
1
解决办法
308
查看次数

Delphi XE5:来自客户端的 JSON 发送 TRESTRequest 正文作为文本/纯文本接收

我正在尝试从客户端使用 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)

delphi json rest-client delphi-xe5

1
推荐指数
1
解决办法
1万
查看次数