小编Joh*_*han的帖子

如果不存在DLL,如何防止“由于找不到xxx.dll而无法继续执行代码”错误

我们已经在Delphi 10中开发了一个DLL,可在某些旧版Delphi 6应用程序中使用它。DLL中的新功能仅适用于少数几个客户端,因此不需要推广到我们的所有客户端。如果我们尝试在没有DLL的情况下部署Delphi 6应用程序,则会出现错误“由于找不到xxx.dll,所以无法继续执行代码”。应用开始运行时,我们会收到错误消息。如果DLL不存在,是否有办法防止此错误?在我们的Delphi 6代码中,我们已经使用FileExists(xxx.dll)来查看是否应该使DLL中的功能可用,因此,如果没有dll,我们就不会冒应用程序崩溃的风险。

我们也很想知道Delphi 6应用检查DLL的位置/时间,因为它发生在Application.Initialize之前,它是DPR文件中的第一行代码。

delphi dll

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

Delphi:将 JSON 数组添加到 JSON 对象

我正在使用 Indy 调用第 3 方 API

\n
var loRespJson: TMemoryStream;\nIdHTTP1.GET(lsURL, loRespJson)\n
Run Code Online (Sandbox Code Playgroud)\n

它返回一个 JSON 数组:

\n
var loRespJson: TMemoryStream;\nIdHTTP1.GET(lsURL, loRespJson)\n
Run Code Online (Sandbox Code Playgroud)\n

反过来,我的函数创建一个新的 JSON 对象,添加附加信息和响应,并将其返回给调用程序。期望的结果:

\n
[\n    {\n        "Active": "1",\n        "SourceId": "215",\n        "SourceName": "MyVal1"\n    },\n    {\n        "Active": "1",\n        "SourceId": "383",\n        "SourceName": "MyVal2"\n    }\n]\n
Run Code Online (Sandbox Code Playgroud)\n

我怎样才能实现上述目标?如果我使用以下内容添加,它会在数组周围创建“”(引号),这在解析 JSON 时是一个大问题:

\n
loJSon.AddPair(TJSONPair.Create(\'responseCode\', IntToStr(idHttp1.ResponseCode)));\nloJSon.AddPair(TJSONPair.Create(\'companyNo\', CompanyNo));\n\nif idHttp1.ResponseCode = 200 then\nbegin\n  lsRespMsg := StreamToString(loRespJSon);\n  liSuper := SO(lsRespMsg);\n  loJSon.AddPair(TJSONPair.Create(\'responseMessage\', liSuper.AsJSon()));\n  \xe2\x80\xa6\n
Run Code Online (Sandbox Code Playgroud)\n

我也尝试过循环遍历 JSON 数组,但该选项在每个数组项周围添加了“”

\n
{ create an json-array }\nloJSA := TJsonArray.Create();\n{ add array to object }\nloJSP …
Run Code Online (Sandbox Code Playgroud)

delphi json delphi-2010

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

标签 统计

delphi ×2

delphi-2010 ×1

dll ×1

json ×1