Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

在未关闭Bve-TrainSim的情况下切换任务,程序出现错误且导致崩溃 #4

Open
winup-zhou opened this issue Oct 1, 2022 · 3 comments

Comments

@winup-zhou
Copy link

winup-zhou commented Oct 1, 2022

使用环境
Bve TrainSim Version 5.7.6224.40815
BlocklyAts v1.1.0.2

出现问题的插件源码
编译出来的插件仅使用了x86版本
https://pastebin.com/R1qa9XKW
https://pastebin.com/qJ9qbA6i

问题描述
在不关闭bve5程序,
从一个指定了含有由BlocklyATS编写的插件的车辆的任务,切换到另一个指定了含有由BlocklyATS编写的插件的车辆的任务时,
程序会报告如下错误,点击确定后崩溃。
image

  • 不是重复打开同一任务,重复打开同一任务不会出现该错误。
  • 两个车辆含有的BlocklyATS编写的插件必须为同一源码编译的插件。

问题复现
1.打开一个指定了含有由BlocklyATS编写的插件的车辆的任务
2.关闭此任务但不关闭bve程序
3.打开另一个指定了含有由BlocklyATS编写的插件(必须为同一源码编译的插件)的车辆的任务
4.出现问题,程序崩溃

@winup-zhou
Copy link
Author

10.11 Update:
不是重复打开同一任务,重复打开同一任务不会出现该错误。
两个车辆含有的BlocklyATS编写的插件为同一源码编译的插件。

@winup-zhou winup-zhou changed the title 在未关闭Bve-TrainSim的情况下进行任务切换出现错误且导致崩溃 在未关闭Bve-TrainSim的情况下切换任务,程序出现错误且导致崩溃 Oct 11, 2022
@zbx1425
Copy link
Owner

zbx1425 commented Oct 12, 2022

多谢报告。我这几天看看。

.Net 的程序集(DLL)一旦加载,它就不能被取消加载了,这就很麻烦(关闭线路之后原先的 DLL 插件还保持加载);除非关闭整个程序或者卸载它所在的 AppDomain,不过我就不太懂 AppDomain 怎么用。
这问题估计也和这有关,我还以为我能给它绕过去的(捂脸)

@winup-zhou
Copy link
Author

昨天又测试了一下,似乎在不同源码编译的插件之间切换不会出现这个问题。
只有这两个插件源码一模一样的时候才会出现这个问题...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants