当使用TJson.JsonToObject在多线程环境中随机访问冲突发生.我在很长一段时间内都在寻找这个问题,我可以用下面的代码来隔离它
JSON类
type
TParameter = class
public
FName : string;
FDataType : string;
FValue : string;
end;
Run Code Online (Sandbox Code Playgroud)
Testfunction:
procedure Test();
var
myTasks: array of ITask;
i : integer;
max : integer;
begin
max := 50;
SetLength(myTasks, max);
for i := 0 to max -1 do begin
myTasks[i] := TTask.Create(procedure ()
var
json : string;
p : TParameter;
begin
json := '{"name":"NameOfParam","dataType":"TypeOfParam","value":"ValueOfParam"}';
p := TJson.JsonToObject<TParameter>(json);
p.Free;
end);
myTasks[i].Start;
end;
TTask.WaitForAll(myTasks);
ShowMessage('all done!');
end;
Run Code Online (Sandbox Code Playgroud)
它只是一个基于更复杂源代码的代码片段.只要我在单个线程中使用此代码,一切都可以正常运行.我想知道代码是否有任何问题.
我是Firemonkey和Android的新手,我不知道我的方法是否错误.我希望有一个应用程序运行并读取NFC标签.
有没有办法在带有firemonkey的Android设备中使用NFC阅读器?
使用FMXExpress的NFCAdapter的一部分(http://www.fmxexpress.com/full-android-sdk-interface-files-in-object-pascal-for-firemonkey/),我可以确定该设备是否具有NFC读卡器如果它已启用.但是要使用所有函数,我必须手动定义所有接口并解决所有循环引用.我不认为这可以导致一个探针解决方案.
我正面临着构建我自己的JavaClass以与nfc适配器通信的解决方案,如本博客文章所述:http://blong.com/Articles/DelphiXE5AndroidActivityResult/ActivityResult.htm#Building
我们在sUIUI5探索的演示中使用openUI5中的JSON视图,他们将这个xml视图用于他们的分组列表
<mvc:View
controllerName="sap.m.sample.ListGrouping.List"
xmlns:l="sap.ui.layout"
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m">
<List
items="{
path: '/ProductCollection',
sorter: {
path: 'SupplierName',
descending: false,
group: true
},
groupHeaderFactory: '.getGroupHeader'
}"
headerText="Products" >
<StandardListItem
title="{Name}"
description="{ProductId}"
icon="{ProductPicUrl}"
iconDensityAware="false"
iconInset="false" />
</List>
</mvc:View>
Run Code Online (Sandbox Code Playgroud)
我们将其翻译为此json视图,但忽略了分拣机和标题工厂.项目按预期显示
{
"Type": "sap.ui.core.mvc.JSONView",
"controllerName": "company.controller.XY",
"content": [
{
"Type" : "sap.m.List",
"height" : "100%",
"items" : {
"path" : "/ProductCollection",
"sorter" : {
"path" : "SupplierName",
"descending" : false,
"group" : true
},
"groupHeaderFactory" : ".getGroupHeader",
"template" : {
"Type" : "sap.m.StandardListItem",
"title" : "{Name}",
"description" …Run Code Online (Sandbox Code Playgroud) delphi ×2
json ×2
android ×1
delphi-xe6 ×1
delphi-xe7 ×1
firemonkey ×1
nfc ×1
rest ×1
sapui5 ×1
xml ×1