小编Iva*_*nov的帖子

如何复制数组?

我在Delphi中有这样一个基本问题,我无法解决它.

我的代码:

注意:DataR在下面的方法中是本地的,但通常它是一个类var.Just为它的本地概念.

class procedure TCelebrity.BeginRead(var input:Array of byte);
var DataR:Array of byte;
begin
  VirtualFree(@DataRead,High(DataRead),MEM_RELEASE);
  SetLength(DataR,Length(input));
  Move(input,DataR,Length(input));
end;
Run Code Online (Sandbox Code Playgroud)

这个编译,但执行Move()后DataR = nil.

第二次尝试:

class procedure TCelebrity.BeginRead(var input:Array of byte);
var DataR:Array of byte;
begin
  VirtualFree(@DataRead,High(DataRead),MEM_RELEASE);
  SetLength(DataR,Length(input));
  DataR := Copy(input,0,Length(input));
end;
Run Code Online (Sandbox Code Playgroud)

这不会编译在所有.第三行的错误(DataR:=复制(输入....)说"不兼容的类型".

哪里出了问题?它们都是字节数组!

arrays delphi

9
推荐指数
2
解决办法
2万
查看次数

为什么不同(!=,<>)快于等于(=,==)?

我已经看到有关SO的评论在声明中说" <>比快="或" !=快于==" if().

我想知道为什么会这样.你能在asm中展示一个例子吗?

谢谢!:)

编辑:

资源

这就是他所做的.

  function Check(var MemoryData:Array of byte;MemorySignature:Array of byte;Position:integer):boolean;
   var i:byte;
   begin
    Result := True; //moved at top. Your function always returned 'True'. This is what you wanted?
    for i := 0 to Length(MemorySignature) - 1 do //are you sure??? Perhaps you want High(MemorySignature) here... 
    begin
{!}  if MemorySignature[i] <> $FF then //speedup - '<>' evaluates faster than '='
     begin
      Result:=memorydata[i + position] <> MemorySignature[i]; //speedup. …
Run Code Online (Sandbox Code Playgroud)

delphi optimization performance

9
推荐指数
4
解决办法
1803
查看次数

如何在C#中从byte []创建bmp文件

我在TCP Client中收到了一个byte []数组.该数组包含一个24位RGB位图文件.如何创建具有给定宽度,高度和数据的位图文件?

在C++中我使用它

int WriteBitmapFile(const char *filename, int width, int height, unsigned char *imageData)
{
FILE             *filePtr;        // file pointer
BITMAPFILEHEADER bitmapFileHeader;    // bitmap file header
BITMAPINFOHEADER bitmapInfoHeader;    // bitmap info header
DWORD                 imageIdx;    // used for swapping RGB->BGR
unsigned char     tempRGB;            // used for swapping

// open file for writing binary mode
filePtr = fopen(filename, "wb");
if (!filePtr)
    return 0;

// define the bitmap file header
bitmapFileHeader.bfSize = sizeof(BITMAPFILEHEADER);
bitmapFileHeader.bfType = 0x4D42;
bitmapFileHeader.bfReserved1 = 0;
bitmapFileHeader.bfReserved2 = 0; …
Run Code Online (Sandbox Code Playgroud)

c# rgb byte bitmap 24-bit

8
推荐指数
3
解决办法
4万
查看次数

如何获取最后一个错误(WSAGetLastError)?

如何WSAGetLastError()从WinAPI 调用,以便获得有效的文本错误?

.net c# error-handling pinvoke winapi

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

C#中的std :: string?

我认为问题出在我的C++函数中,但我试过了

C++中的C++函数:

bool __declspec( dllexport ) OpenA(std::string file)
{
return true;
}
Run Code Online (Sandbox Code Playgroud)

C#代码:

[DllImport("pk2.dll")]
public static extern bool OpenA(string path);

    if (OpenA(@"E:\asdasd\"))
Run Code Online (Sandbox Code Playgroud)

我得到一个例外,内存已损坏,为什么?

如果我删除了std :: string参数,它的效果很好,但是使用std :: string它不起作用.

c# c++ dll

8
推荐指数
2
解决办法
2万
查看次数

使用WPF而不是Windows窗体有什么好处?

我之前使用.NET和Windows Forms编写了用户界面.

我即将开始开发新的软件.该软件只是一个简单的实用程序,它将使用富文本字段,几个按钮,对话框等.

似乎Windows Forms非常适合这种情况.我不需要任何华而不实的东西.

但是,WPF是新的东西,我想学习它.

我在WPF中创建了一个hello world应用程序,我并不高兴,因为运行应用程序需要花费太多时间,并且需要花费大量时间来编译它.

我是WPF的新手,所以我有一个以上的问题:

  1. WPF适合哪种应用?
  2. Windows Forms的未来是什么?
  3. 什么是WPF的当前版本?我猜它是1.0,因为它带有.NET framework 3.0.
  4. 在我制作第一个Hello World WPF应用程序时,我发现的WPF的下一个版本是否会有任何重大改进?
  5. WPF是否与.NET 4.0一起更新(我的意思是,下一个版本将附带.NET v4)?

wpf winforms

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

TextReader/StreamReader中是否有"go to line"选项?

我有一个25k行的巨大文本文件.在文本文件中,每行以"1\t(linenumber)"开头

例:

1   1   ITEM_ETC_GOLD_01    ??(?)   xxx xxx xxx_TT_DESC 0   0   3   3   5   0   180000  3   0   1   0   0   255 1   1   0   0   0   0   0   0   0   0   0   0   -1  0   -1  0   -1  0   -1  0   -1  0   0   0   0   0   0   0   100 0   0   0   xxx item\etc\drop_ch_money_small.bsr    xxx xxx xxx 0   2   0   0   1   0   0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 …
Run Code Online (Sandbox Code Playgroud)

.net c# text

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

如何以管理员模式运行部署应用程序?

如何部署应用程序以便它们需要管理员权限而无需最终用户手动执行此操作?

我使用Delphi 2009来构建应用程序.

windows delphi deployment uac

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

如何从C#中的另一个cs文件访问表单对象

在form.cs文件中,我有两个按钮,一个备忘录和一个计时器.我的问题是:如何从另一个cs文件访问计时器或备忘录?

我试图将这些对象公开,但它不起作用,请给我一个来源或项目,所以我可以看到我错了.

谢谢!

c# forms object

7
推荐指数
3
解决办法
6万
查看次数

如何在项目组中运行所有项目?

我有一个项目组,其中包含两个共享一个源文件夹的项目,但做了不同的事情.我觉得奇怪的是使用'项目组',但我不想把这个变成一个主观问题,因此我直接问你:

如何在项目组中运行所有项目 - 有一个简短的方法吗?

先感谢您!

delphi delphi-2009

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