我们正在构建一个 Delphi REST 服务器,该服务器向本机 Android 应用程序提供相当大的数据块(每个请求 1.5MB,数量很多)。一切正常,除了这种情况下的数据大小会出现问题,导致我们的环境中传输时间较长(移动数据速率有限)。我尝试ZLibCompression在 上添加过滤器DSHTTPWebDispatcher,但响应仅以未压缩的文本/html 形式再次返回。
有没有办法强制服务器使用在调度之前作为事件添加的过滤器?
服务器采用Delphi XE3构建。
与Delphi7相比,为什么StringGrid的边界在XE3中如此不清楚?如何解决?

我正在开发一个应用程序,它将从WoW军械库中获取你角色的数据.示例角色:我的魔兽角色(链接)
我将通过调用暴雪提供的API获取我想要的所有信息,我将得到响应JSON.示例JSON:上述字符的JSON响应(链接)
起初我尝试从JSON字符串操作中获取数据.这意味着,分割我的字符串,在字符串中搜索关键字以找到位置并将其格式化为单个数据片段,例如人才和统计数据.
这在开始时工作得很好但是因为我想要更多的数据这变得更难,因为我在所有字符串上运行的许多功能它只是变成了一个大模糊而且不清楚我在那一刻看到了什么.
有一个很好的方法来处理我的JSON?我正在考虑获得JSON并创建一个空类.在完成JSON它的同时会生成属性并将值存储在那里.但我不知道是否以及如何动态生成属性.
在未来,我想获得更多的数据,但首先我想在考虑之前启动并运行.
有没有人对此有任何想法/建议?
提前致谢.
我用这个:
Application.Minimize;
Run Code Online (Sandbox Code Playgroud)
在Vcl delphi应用程序中,但在Firemonkey中我得到了Undeclared识别错误.
如何最小化我的firemonkey表格?
如何通过SuperObject库将记录数组存储在JSON中.例如..
type
TData = record
str: string;
int: Integer;
bool: Boolean;
flt: Double;
end;
var
DataArray: Array[0..100] of TData;
Run Code Online (Sandbox Code Playgroud) [dcc32 Error] psystr.pas(249): E2251 Ambiguous overloaded call to 'Pos'
System.pas(28005): Related method: function Pos(const string; const string; Integer): Integer;
System.pas(28165): Related method: function Pos(const WideString; const WideString; Integer): Integer;
Run Code Online (Sandbox Code Playgroud)
我在以下功能上遇到上述错误.我怎样才能解决这个问题?代码是由另一个程序员给我的,但我是一个完全的业余,所以简单的答案将不胜感激!
function ExplodeStr(const AString: WideString; AWordIndex: Integer; AChar: Char): WideString;
var
Index, Counter: Integer;
begin
Result := Trim(AString);
Counter := 0;
Index := Pos(AChar + AChar, Result);
while Index > 0 do
begin
Delete(Result, Index, 1);
Index := Pos(AChar + AChar, Result);
end;
Index := Pos(AChar, Result);
while ((Counter < AWordIndex) …Run Code Online (Sandbox Code Playgroud) 我Windows Service使用向导创建了一个新项目,推出了一些代码,编译了它,运行它/INSTALL然后我尝试使用它来启动它net start myservice但是我有一个service name not found错误; 然后我进入了服务中的控制面板,当我尝试开始单击"开始"链接时,对话框窗口会无限期地显示50%的进度条冻结.
这是我第一次尝试提供服务来更新我正在开发的主系统,为了测试我Timer每隔一分钟就说一次.任何人都可以注意到什么是错的,为什么它会像那样?
该DPR文件包含:
{...}
begin
if not Application.DelayInitialize or Application.Installing then
begin
Application.Initialize;
end;
Application.CreateForm(TZeusUpdateSevice, ZeusUpdateSevice);
Application.Run;
end.
Run Code Online (Sandbox Code Playgroud)
和PAS文件:
{...}
procedure ServiceController(CtrlCode: DWord); stdcall;
begin
ZeusUpdateSevice.Controller(CtrlCode);
end;
function TZeusUpdateSevice.GetServiceController: TServiceController;
begin
Result := ServiceController;
end;
procedure TZeusUpdateSevice.ServiceAfterInstall(Sender: TService);
var
regEdit : TRegistry;
begin
regEdit := TRegistry.Create(KEY_READ or KEY_WRITE);
try
regEdit.RootKey := HKEY_LOCAL_MACHINE;
if regEdit.OpenKey('\SYSTEM\CurrentControlSet\Services\' + Name,False) then
begin
regEdit.WriteString('Description','Mantém …Run Code Online (Sandbox Code Playgroud) 读了这个问题:
德尔福Windows服务的设计,我看到大部分的设计师在使用下面这段代码OnExecute的TService或TThread方法,以保持服务活着.
while not Terminated do
begin
// do something
end;
Run Code Online (Sandbox Code Playgroud)
但是,如果我需要(和我一样)来创建一个服务(使用印),以便发回一些认证数据由主应用程序发送的消息,我该怎么用这个代码做回应,忽略它或把一些Sleep()在它?
我sqlite3.dll在Delphi应用程序中找不到错误.我的电脑上已有sqlite3.dll文件E://sqlite-dll-win32-x86-3071700
我的来源如下
procedure TForm2.Button1Click(Sender: TObject);
var
Results: TDataSet;
begin
SQLConnection1.Params.Add('Database=E://empn.s3db');
SQLConnection1.LibraryName := 'E://sqlite-dll-win32-x86-3071700/sqlite3.dll';
try
SQLConnection1.Connected := true;
SQLMonitor1.Active := True;
SQLConnection1.Execute('Selct * from usergroup', nil, Results)
finally
end;
end;
Run Code Online (Sandbox Code Playgroud)
正如上面提到的代码已经指出了库的路径
SQLConnection1.LibraryName := 'E://sqlite-dll-win32-x86-3071700/sqlite3.dll';
Run Code Online (Sandbox Code Playgroud)
但我仍然得到像sqlite3.dll找不到的错误.如何解决此错误?
我使用函数Char和Chr与参数130,并在Delphi 2007 e XE3中表现不同.
Delphi 2007:Char(130)或Chr(130) - 结果:逗号
Delphi XE3:Char(130)或Chr(130) - 结果:#$ 0082
我使用AnsiChar解决问题(130).
我的问题是如果我在使用AnsiChar时遇到问题.我应该在整个项目中通过AnsiChar更改Chr/Char吗?
谢谢
delphi ×10
delphi-xe3 ×10
json ×2
api ×1
char ×1
chr ×1
datasnap ×1
delphi-7 ×1
delphi-xe2 ×1
firemonkey ×1
pascal ×1
rest ×1
sqlite ×1
superobject ×1
udp ×1
unicode ×1