以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  很奇怪的问题:在有的电脑上出现,有的电脑不出现  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=99813)

--  作者:dyzkdxy
--  发布时间:2017/4/27 11:07:00
--  很奇怪的问题:在有的电脑上出现,有的电脑不出现

在本人电脑上开发的项目,调试没发现问题,发布后,在一些电脑上安装运行正常,但在一些电脑上运行时出现“ “UserCode”的类型初始值设定项引发异常 ”,后经过排查发现,提示异常的,都是在窗口中引用了项目全局代码的,如有全局代码中有“Public dje As Integer = 50000” ,只要引用了变量dje的窗口,就会出现以上异常提示。不知何故?


--  作者:有点色
--  发布时间:2017/4/27 11:35:00
--  

 把你项目的bin文件夹删除,重新打开项目,重新发布,然后拷贝到各台电脑上去。拷贝过去后看看有没有被什么杀毒软件隔离删除了bin里面的文件。


--  作者:dyzkdxy
--  发布时间:2017/5/10 21:24:00
--  

有点色老师:还是没找到原因。我在另外一台电脑上安装了开发版软件,复制源程序后,在该电脑上的foxtable中调试,也还是这个问题。就是public变量惹的祸!

我将所有的public变量全部改为全局变量VAR变量后,这个问题没出现了,只是费了很多时间改源程序。

但还有一个变量不知怎么改了:语音校对,需要设置Public sp As new DotNetSpeech.SpVoice() ,因为在全局变量中没法设置这个SP变量的类型。

请老师帮忙解决!谢谢


--  作者:有点色
--  发布时间:2017/5/10 21:28:00
--  

 如果是全局变量的问题,就是bin文件夹的问题。

 

 把你项目的bin文件夹删除,重新打开项目。


--  作者:dyzkdxy
--  发布时间:2017/5/10 21:42:00
--  
也就是说如何将Public sp As new DotNetSpeech.SpVoice() 替换为相应的var变量?
--  作者:有点色
--  发布时间:2017/5/10 21:45:00
--  
以下是引用dyzkdxy在2017/5/10 21:42:00的发言:
也就是说如何将Public sp As new DotNetSpeech.SpVoice() 替换为相应的var变量?

 

不用替换。认认真真看3楼。

 

想替换也行,afterOpenProject写 vars("sp") = new DotNetSpeech.SpVoice


--  作者:dyzkdxy
--  发布时间:2017/5/11 21:43:00
--  

有点色老师:我按3楼的方法操作了问题没解决。

      另外,我前几天就是这样的把public变量改为var变量时,在afterOpenProject中这样改的,开始都报变量没定义的错,所以不得不在全局变量中设置val变量的,其他的变量通过修改相应的代码都没问题,但这个Sp的var变量不能在全局变量中设置。今天又按您的方法重新试了,还是一样的问题:

        在afterOpenProject写 vars("sp") = new DotNetSpeech.SpVoice  后,为了进行语音校对,在再在窗口的ValidateEdit 中    sp.Speak(e.text, DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync),窗口保存时报错:变量sp没有定义。


--  作者:dyzkdxy
--  发布时间:2017/5/11 21:46:00
--  
我在项目属性中先设置,var变量必须提前定义:false  后才操作的。
--  作者:有点色
--  发布时间:2017/5/11 21:58:00
--  

sp.Speak(e.text, DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync)

 

改成

 

vars("sp").Speak(e.text, DotNetSpeech.SpeechVoiceSpeakFlags.SVSFlagsAsync)


--  作者:有点色
--  发布时间:2017/5/11 21:59:00
--  

 public 变量肯定没问题,真的没必要向你那样折腾。