编译后不可预知的行为

时间:2017-03-23 13:09:21

标签: autoit

所以我在autoIT中有脚本并且它工作正常,但是在编译到exe之后有不同的行为,如脚本。

rImportant.dll

因此,脚本完美地执行此命令,但exe编译自脚本编号。 exe案例中的命令行似乎如下:

reImportant.dll

if form.is_valid():
   # this will call `pedido.save()` once
   form.save()
   # ...
   # adds some things to pedido...
   # ...
   # and here you're saving pedido a second time
   pedido.save()

此类命令不存在,因此我收到错误,但命令中的字符串是 regsvr32 Important.dll 而没有 rImportant.dll reImportant.dll 。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

以这种方式重写您的脚本:

Run("ImporatntExecutable /regserver")
Run("regsvr32 Important.dll")

你可以把它编译成exe。无需向cmd窗口发送击键。

如果您仍然需要向cmd窗口发送击键以获取任何(对我来说难以理解)的原因,您可以在脚本的开头尝试add this line

Opt ("SendKeyDelay", 500)

对于cmd窗口,编译的脚本可能太快了。