出于兼容性原因(对象被序列化并导出并且必须与外部名称匹配)我希望字段名称为'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)甚至不会编译它.这是可能吗?怎么样?
Office 365 API和EWS(Exchange Web服务)之间有什么区别?
我什么时候使用?
我正在使用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
更改为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) 我的服务器有以下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"的元素?
谢谢你的帮助...
有一个dll webservice(用Delphi编写),它有一个名为List的方法,它返回一个字符串列表(widestring).
是否有任何方法可以调用该服务而无需编写客户端应用程序来使用它?
例:http://misitio.com:8080 / miwebservice.dll?methodname = list
我正在尝试制作我的Java应用程序的可执行文件,但我不知道该怎么做.
我知道如何生成可执行的jar文件,但我想制作一个可执行的应用程序.
我正在使用eclipse indigo来创建java应用程序并生成jar文件.
如何制作可执行文件?
我有一个用Delphi 2006制作的应用程序,用QuickReport打印.由于存在许多错误,我将重建软件的这一部分,以HTML格式生成报告,然后通过某个组件将其发送到打印机.我的问题是,如何/我可以告诉打印机什么时候应该打破HTML的新页面?HTML打印组件上的某些标记或事件?
我突然注意到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)
没有编译器错误,没有运行时问题.怎么会?
假设我有一个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,但有一定的条件,如:
NULL(或某种骨架/模板的\AppBundle\Entity\Group不是从数据库加载与固定值),如果Group中 …delphi ×5
.net ×1
constructor ×1
datamodule ×1
delphi-xe2 ×1
dll ×1
doctrine ×1
doctrine-orm ×1
eclipse ×1
executable ×1
firedac ×1
html ×1
jar ×1
java ×1
json ×1
office365api ×1
oracle ×1
php ×1
printing ×1
report ×1
service ×1
superobject ×1
web-services ×1