我已经创建了一个代理,然后将Connectivity托盘中的文本文件放入到该agent模型中。当我运行模拟时,它正在显示NullPointerException错误。控制台上写着“未知源”。尽管我在此之前创建了该文件,并将该文件的位置放在属性托盘中。我正在使用AnyLogic 7 pro。
我不知道我做错了什么。注意:当我将相同的文本文件放入主代理模型中时,不会发生此错误。
更新:我找到了一个解决办法。我将代理链接到主代理,然后将文件放在主代理中。之后,我从代理函数中调用了该文件。据我理解,我认为除了主代理之外,其他代理无法创建连接对象。不过,我不太确定。
发布于 2021-11-04 07:59:11
由于您指示当将相同的文本文件放置在main上时它是工作的,所以可能会在代理访问该文件之前创建代理.
这里有几个选项和检查
检查1:确保在项目的“数据”文件夹下的“资源”部分中可以访问该文件。它不应该是灰色的,左边有一个绿色的点。

检查2:文件对象中的文件名旁边也应该有一个绿色点,在您放置它的代理中。

备选方案1:在代理中使用一个参数将main上存在的文本文件传递给使用它的代理


备选方案2:如果您的代理使用main,您可以直接从代理访问main上的文本文件。

注意:我认为让每个代理从内部访问完全相同的文本文件是不明智的。最好是它们都访问同一个文件对象。
https://stackoverflow.com/questions/69835346
复制相似问题