我有一个简单的记录类型.我分配了此记录的新实例,并使用过程("_ clone")将值从现有记录复制到新记录.我只在分配字符串值时才获得访问冲突.
有任何想法吗?非常感谢帮助.
TYPE定义:
TPointer = ^TAccessoryItem;
TAccessoryItem = Record
Id : Integer;
PartNumber : String;
Qty : Integer;
Description : String;
Previous : Pointer;
Next : Pointer;
end;
Run Code Online (Sandbox Code Playgroud)
Procedure TAccessoryList._clone (Var copy : TAccessoryItem; Var original : TAccessoryItem);
begin
copy.Id := original.Id;
copy.Qty := original.Qty;
copy.Partnumber := original.Partnumber; **// Access errors happens here**
copy.Next := Nil;
copy.Previous := Nil;
end;
Run Code Online (Sandbox Code Playgroud)
致电以下申请:
procedure TAccessoryList.AddItem(Var Item : TAccessoryItem);
Var
newItem : ptrAccessoryItem;
begin
GetMem(newItem, sizeOf(TAccessoryItem));
_clone(newItem^, Item);
end;
Run Code Online (Sandbox Code Playgroud) 我永远无法将字符串值存储到 Azure 托管的 Redis 缓存。使用 StackExchange.Redis 版本 2.0.601 和 vs2015 和 vs2019。下面的代码在注释中有错误(基本上即使成功 ConnectionMultiplexer.Connect 也没有建立连接)。
static bool Connect()
{
ConnectionMultiplexer redis;
try
{
ConfigurationOptions cfgOptions = new ConfigurationOptions
{
EndPoints =
{
{"RedisOnMyAzureServer", myPort}
},
AbortOnConnectFail = false,
Ssl = true,
ConnectRetry = 3,
ConnectTimeout = 10000,
SyncTimeout = 10000,
DefaultDatabase = 0,
Password = "myPassword"
};
redis = ConnectionMultiplexer.Connect(cfgOptions); // takes 10.5 seconds on average
}
catch
{ return false; } // never errors
// some diagnostics follow
if (redis.IsConnected) …Run Code Online (Sandbox Code Playgroud)