delphi – 我应该如何将负值传递给SendMessage并在他们期望NativeUInt时执行?

假设你有这样的代码
Result.X := ACustomMemo.Perform(EM_LINEFROMCHAR,-1,0);

Windows API声明“-1”是一个有效值,使其返回活动行.

但是,Delphi将此定义为NaiveUInt并且如果我尝试传递-1则会抱怨.

什么是最干净的解决方案?铸件?

解决方法

将-1值转换为WParaM是处理此案例的正确方法.
Result.X := ACustomMemo.Perform(EM_LINEFROMCHAR,WParaM(-1),LParaM(0));

顺便说一句,WParaM类型的delphi NativeUint定义是正确的,因为x86上的无符号32位和x64上的无符号64位.

相关文章

 从网上看到《Delphi API HOOK完全说明》这篇文章,基本上都...
  从网上看到《Delphi API HOOK完全说明》这篇文章,基本上...
ffmpeg 是一套强大的开源的多媒体库 一般都是用 c/c+&#x...
32位CPU所含有的寄存器有:4个数据寄存器(EAX、EBX、ECX和ED...
1 mov dst, src dst是目的操作数,src是源操作数,指令实现的...