小编mad*_*moe的帖子

在记录类型之间分配字符串时Delphi访问冲突错误

我有一个简单的记录类型.我分配了此记录的新实例,并使用过程("_ 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)

delphi pointers access-violation data-structures getmem

5
推荐指数
1
解决办法
3435
查看次数

使用 StackExchange.Redis 存储到 Azure 托管的 redis 缓存的问题

我永远无法将字符串值存储到 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)

azure redis stackexchange.redis

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