[英]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.