小编Jan*_*gen的帖子

是否可以将保留字用于字段名称?

出于兼容性原因(对象被序列化并导出并且必须与外部名称匹配)我希望字段名称为'type',即

TTBaseWebResponse = class
private
   type: String;
   success: Integer;       
end;

or

TTBaseWebResponse = class
private
   ftype: String;
   fsuccess: Integer;       
public
   type: string read fstring write fstring;
   success: integer read fsuccess write fsuccess;   
end;
Run Code Online (Sandbox Code Playgroud)

Delphi(XE2)甚至不会编译它.这是可能吗?怎么样?

delphi

8
推荐指数
3
解决办法
1614
查看次数

Office 365 API和EWS之间有什么区别

Office 365 API和EWS(Exchange Web服务)之间有什么区别?

我什么时候使用?

exchangewebservices office365api

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

我们可以使用EWS托管API连接到Exchange 2016吗?

我正在使用EWS托管API 2.2,它在枚举中不显示Exchange版本2016.我可以看到Exchange 2013的版本.那么如何连接到Exchange Server 2016?API是否尚未从Microsoft更新,或者我是否需要使用任何其他API连接到Exchange 2016?

.net exchange-server exchangewebservices ews-managed-api exchange-server-2016

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

在Oracle/MSSQL下的Parameter.AsString失败 - 在Oracle下的Parameter.Value 2字节字符

更改为FireDAC后,我无法使此代码在MSSQL/Oracle上运行:

with DataFormsettings do
begin
  Close;
  if Params.Count=0 then FetchParams;
  Params.ParamByName('TT_EMP_ID').Asinteger := AEmpID;
  Params.ParamByName('TT_FORM').AString := UpperCase(AKey);  
  Open;
  if (RecordCount>0) then
     S := FieldByName('TT_VIEWDATA').Asstring;     
end;   
Run Code Online (Sandbox Code Playgroud)

AKey和S都是字符串.

Open语句给出错误

[FireDAC][Phys][MSSQL]-338 Param type changed from [ftString] to [ftWidestring]
[FireDAC][Phys][Ora]-338 Param type changed from [ftString] to [ftWidestring]
Run Code Online (Sandbox Code Playgroud)

连接到MSSQL或Oracle数据库时; 连接到FireBird时没有.
之后FetchParams,DataFormsettings.params[1].datatype永远是一个ftString.

如果我更换

Params.ParamByName('TT_FORM').AString := UpperCase(AKey);  
Run Code Online (Sandbox Code Playgroud)

Params.ParamByName('TT_FORM').Value := UpperCase(AKey);
Run Code Online (Sandbox Code Playgroud)

... Open语句中没有错误.虽然我没有真正理解错误,但我认为这已经解决了.毕竟,这应该是所有默认的Delphi字符串类型......
但是现在,对于Oracle(而不是FireBird或MSSQL)来说,S分配失败,因为我看到返回2字节字符.S包含:

\'#0'S'#0'o'#0'f'#0't'#0'w'#0'a'#0'r'#0'e'#0'\'#0'T'#0'i'#0'm'#0'e'#0'T'#0'e'#0'l'#0'l'#0'...
Run Code Online (Sandbox Code Playgroud)

我可以用例如

S := TEncoding.Unicode.GetString(FieldByName('TT_VIEWDATA').AsBytes);  
Run Code Online (Sandbox Code Playgroud)

对于Oracle,但(当然)在使用其他两种不起作用的数据库类型时:

No mapping for the Unicode character exists in the target multi-byte code …
Run Code Online (Sandbox Code Playgroud)

delphi oracle firedac delphi-10.2-tokyo

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

Delphi/SuperObject - 访问子节点

我的服务器有以下JSON:

{
   "userid":"12",
   "username":"TestChar",
   "logged":"yes",
   "status":"Premium User",
   "areas":{
      "SERVICEAREA_XX1":{
         "id":"1",
         "area":"SERVICEAREA_XX1",
         "version":"3000",
         "usr_group":"0"
      },
      "SERVICEAREA_XX2":{
         "id":"2",
         "area":"SERVICEAREA_XX2",
         "version":"31000",
         "usr_group":"0"
      },
      "SERVICEAREA_XX3":{
         "id":"3",
         "area":"SERVICEAREA_XX3",
         "version":"2000",
         "usr_group":"1"
      }
   }
}
Run Code Online (Sandbox Code Playgroud)

使用SuperObjects,我可以获得"SERVICEAREA"的计数

ob['areas'].AsObject.count
Run Code Online (Sandbox Code Playgroud)

我现在如何才能访问不同"SERVICEAREA"的元素?

谢谢你的帮助...

delphi json superobject

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

如何调用Web服务方法进行测试,例如从浏览器调用

有一个dll webservice(用Delphi编写),它有一个名为List的方法,它返回一个字符串列表(widestring).

是否有任何方法可以调用该服务而无需编写客户端应用程序来使用它?

例:http://misitio.com:8080 / miwebservice.dll?methodname = list

delphi dll service web-services

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

如何在eclipse中生成java项目的可执行文件

我正在尝试制作我的Java应用程序的可执行文件,但我不知道该怎么做.

我知道如何生成可执行的jar文件,但我想制作一个可执行的应用程序.

我正在使用eclipse indigo来创建java应用程序并生成jar文件.

如何制作可执行文件?

java eclipse executable jar

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

打印html时如何定义分页符?

我有一个用Delphi 2006制作的应用程序,用QuickReport打印.由于存在许多错误,我将重建软件的这一部分,以HTML格式生成报告,然后通过某个组件将其发送到打印机.我的问题是,如何/我可以告诉打印机什么时候应该打破HTML的新页面?HTML打印组件上的某些标记或事件?

html printing report

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

TDataModule后代'创建'没有.Create但没有问题?

我突然注意到TDataModuleTestExchange(nil)我们的代码库中有一个'构造函数调用':

procedure TDialoogConfigExchange.ButtonTestClick(Sender: TObject);
var
   lDataModuleTestExchange: TDataModuleTestExchange;
   lResult                : Boolean;
begin
   inherited;
   [snip]
   begin
      lDataModuleTestExchange := TDataModuleTestExchange(nil);  // *** HERE ***
      try
         lResult := lDataModuleTestExchange.GetCalendarFolder(EditHost.Text,EditGebruiker.Text,EditWachtwoord.Text);
         if lResult then
            ToonMelding(sExchangeTestGelukt, mtInformation, [mbOk])
         else
            ToonMelding(Meldingen.Text, mtError, [mbOK]);
      finally
         lDataModuleTestExchange.Free;
      end;
   end;
end;
Run Code Online (Sandbox Code Playgroud)

所以,而不是TDataModuleTestExchange.**Create**(nil)这个工作就好了!

unit dmTestExchange;

interface

uses
  System.SysUtils, System.Classes,
  Xml.XMLDoc, Xml.XMLIntf, Xml.XMLDOM,
  TimeTellDM;

type
  TDataModuleTestExchange = class(TTimeTellDataModule)  // TDataModule descendant
  private
  public
    function GetCalendarFolder(const AExchangeServerURL,AExchangeLoginName,AExchangePass: String): Boolean;
  end;
Run Code Online (Sandbox Code Playgroud)

没有编译器错误,没有运行时问题.怎么会?

delphi constructor datamodule delphi-xe2

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

在Doctrine中,如何为Entity实现其他模型功能

假设我有一个Doctrine(版本2)实体,如下所示:

<?php
namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * User
 *
 * @ORM\Table(name="users")
 * @ORM\Entity
 */
class User {
    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id

    /**
     * @var string
     *
     * @ORM\Column(name="name", type="string", length=50, nullable=false)
     */
    private $name;

    /**
     * @var string
     *
     * @ORM\Column(name="group_id", type="string", length=6, nullable=true)
     */
     private $groupId;

    // Getters and setters...
}
Run Code Online (Sandbox Code Playgroud)

现在,我想管理User的关系Group,有一定的条件,如:

  1. 返回NULL(或某种骨架/模板的\AppBundle\Entity\Group不是从数据库加载与固定值),如果Group中 …

php doctrine doctrine-orm

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