[英]How to fix :“Not Enough Stack Memory” when trying to load() with OfficeDatabaseDocument UNO service
我试图使自己熟悉LibreOffice Base上的Macro和UNO API,我尝试使用UNO OfficeDatabaseDocument(DOC here: https ://api.libreoffice.org/docs/idl/ref/servicecom_1_1sun_1_1star_1_1star_1_1sdb_1_1OfficeDatabaseDocument打开我的.odb文件.html#a3d0b1f053d53f5b196e4c19e55a519ae )与UNO一起玩并学习使用它们。
Function MyClubOfficeDatabaseDocument()
Dim MyClubURL(0) As New com.sun.star.beans.PropertyValue
MyClubURL(0).Name = "Chemin d'accès vers la base de donnée MyClub"
MyClubURL(0).Value = "/Users/faisalsalhi/Desktop/MyClub/MyClub.odb"
MyClubOfficeDatabaseDocument = CreateUnoService("com.sun.star.sdb.OfficeDatabaseDocument")
MyClubOfficeDatabaseDocument.load(MyClubURL)
End Function
我收到一个运行时错误消息,说我没有足够的堆栈内存来执行此操作。
您已经耗尽了堆栈内存,因为您已经设置了无限递归。 也就是说,您的函数MyClubOfficeDatabaseDocument
在其内部被调用,然后又一次又一次地无限制地调用自身。
解决此问题的唯一方法是消除无限递归。
您只需更改函数名或变量名就可以修复它。 例如,您可以将函数名称更改为LoadMyClubOfficeDatabaseDocument
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.