在打开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?
- 2. 我可以将MongoDB值设置为javascript表达式吗?
- 3. 如何将日志级别设置为MongoDb的信息?
- 4. 将设置重置为SpecialFolder
- 5. 将设置大小设置为TreeSet
- 6. 将jQuery设置类设置为变量
- 7. MongoDB的使用$设置
- 8. MongoDB。如何设置索引?
- 9. 的MongoDB:的“$未设置”
- 10. 流星,MongoDB多oplog设置
- 11. MongoDB - 验证设置错误
- 12. 设置文档场 - MongoDB的
- 13. 将INT列设置为空
- 14. 将Page.IsValid设置为False
- 15. 将记录设置为dynamoDB
- 16. 将值设置为TextField
- 17. 将URL设置为WebView
- 18. 将ListModel设置为JList
- 19. 将HtmlEditorExtender设置为ReadOnly
- 20. 将模型设置为QTableWidget
- 21. PostThreadMessage将GetLastError设置为1444
- 22. 将Cookie设置为WebClient c#
- 23. 将IMG URL设置为CardView?
- 24. 将日期设置为值
- 25. 将Jetty设置为服务
- 26. 将字体设置为alertdialog
- 27. C#将css设置为System.windows.forms.webBrowser
- 28. 将FolderBrowserDialog设置为前景
- 29. 将变量值设置为
- 30. 将php设置为*(全部)