在打開TFDConnection-> Open()之後的空項目中,完成程序後連接到Mongodb崩潰錯誤「Bluetooth:無法清理Winsock」。將TFDConnection設置爲MongoDB
1
A
回答
0
此錯誤似乎發生在System.Win.Bluetooth中的TWinBluetoothSocket.Destroy例程期間。出於某種原因,儘管未使用藍牙,但在C++應用程序中調用了TWinBluetoothSocket析構函數。
問題是WSACleanup()被TWinBluetoothSocket析構函數調用,但WSAStartup()從未被調用,所以WSACleanup()返回一個錯誤。
在Mongo驅動程序用於C++應用程序時,即使TFDConnection在Delphi單元中,只要在設計或運行時選擇了Mongo驅動程序並將Connected設置爲true,就會發生這種情況。
沒有需要MongoDB服務器來重現此;只需在按鈕點擊處理程序中設置爲「已連接」即可。當然,因爲沒有MongoDB服務器會發生錯誤,但是當應用程序退出時會發生此錯誤。
的解決方法是把這個在構造函數(從https://msdn.microsoft.com/en-us/library/windows/desktop/ms742213(v=vs.85).aspx)現在
WORD wVersionRequested;
WSADATA wsaData;
int err;
/* Use the MAKEWORD(lowbyte, highbyte) macro declared in Windef.h */
wVersionRequested = MAKEWORD(2, 2);
err = WSAStartup(wVersionRequested, &wsaData);
if (err != 0)
{
ShowMessage("err nonzero");
}
,調用WSAStartup()被調用,所以WSACleanup()不返回一個錯誤,並且應用程序可以關閉。
相關問題
- 1. 如何將mongodb charset設置爲utf8?
- 2. 使用TFDConnection以編程方式設置「服務器」
- 3. 如何設置MongoDB
- 4. 如何爲mongodb設置permernent dbpath
- 5. 爲分片/可擴展性設置mongodb?
- 6. 如何在Grails中爲MongoDB設置readPreference
- 7. 使用Li3爲MongoDB設置safe =>'majority'
- 8. 將mongodb ObjectId設置爲web api 2.0上的url參數
- 9. 我可以將MongoDB值設置爲javascript表達式嗎?
- 10. 如何將日誌級別設置爲MongoDb的信息?
- 11. 將MongoDB副本設置爲獨立備份和恢復
- 12. 將package_dir設置爲..?
- 13. 將設置重置爲SpecialFolder
- 14. 將設置大小設置爲TreeSet
- 15. 將htaccess設置轉換爲BaseHTTPServer設置
- 16. 將jQuery設置類設置爲變量
- 17. 如何使用FireDAC TFDConnection通過
- 18. struts2 +將表單值設置爲POJO並將POJO值設置爲
- 19. MongoDB - 驗證設置錯誤
- 20. writeConcern不設置MongoDB中
- 21. MongoDB的使用$設置
- 22. MongoDB和設置--DBPath(Windows)
- 23. 的MongoDB:的「$未設置」
- 24. MongoDB首次用戶設置
- 25. MongoDB。如何設置索引?
- 26. 設置mongodb副本集
- 27. 設置文檔場 - MongoDB的
- 28. 流星,MongoDB多oplog設置
- 29. 如何設置的MongoDB
- 30. 在Azure上設置MongoDB