(wchar_t*)@<字符缓冲区>.GetText(); 本帖最后由 沉默流星 于 2025-3-14 08:51 编辑
Xelloss0618 发表于 2025-3-13 22:06
@.SetLength(40);
(wchar_t*)@.GetText();
测试之后报错
template<size_t nBufLen> inline int acedGetString(int cronly, const wchar_t *prompt,
wchar_t (& buf))
{
return ::acedGetString(cronly, prompt, buf, nBufLen);
}参数2和参数3都是跳转的这个类型,如下#ifndef _WCHAR_T_DEFINED
#define _WCHAR_T_DEFINED
typedef unsigned short wchar_t;
#endif
沉默流星 发表于 2025-3-14 08:46
测试之后报错
报错很明显了啊,你打错字了,是 SetLength Xelloss0618 发表于 2025-3-14 08:56
报错很明显了啊,你打错字了,是 SetLength
我复制的的啊,应该写错了,赋值这个也是报错 Xelloss0618 发表于 2025-3-14 08:56
报错很明显了啊,你打错字了,是 SetLength
这是复制黏贴的
沉默流星 发表于 2025-3-14 09:02
这是复制黏贴的
我又没打错,你这还能复制错?
看了一下,你这个 acedGetString 函数有好几个重载,下面几个你可以都试一下(推荐第一个,不用提供字符长度)。
@ AcString buf;
@ int ret = acedGetString(@<仅命令模式>), @<输入提示>.GetText(), buf);
@ @<字符缓冲区>.SetText(buf.kwszPtr());
@ return ret;
@ @<字符缓冲区>.SetLength(40);
@ return acedGetString(@<仅命令模式>), @<输入提示>.GetText(), (wchar_t*)@<字符缓冲区>.GetText(), 40);
@ @<字符缓冲区>.SetLength(40);
@ return acedGetString<40>(@<仅命令模式>), @<输入提示>.GetText(), (wchar_t*)@<字符缓冲区>.GetText());
火山这方面做的是真差劲,最起码各种类型的转换得写个文档吧,易语言过来的用户看都看不懂
页:
1
[2]