Ⅰ vb.net生成java可調用的dll(2)
調用函數的時候內部的工作原理。
不加的話默認是__cdecl,加的話變成__stdcall,
雖然沒有硬性規定,不過DLL導出方法比較習慣會是後一種。
它涉及到調用函數的時候如何傳遞參數。
函數調用的時候參數是通過運行時棧來傳遞的,將參數放入棧中,然後進入函數代碼執行
在執行完函數代碼之後,要將棧中的參數清理掉。此時應該由哪一邊來清理,是__cdecl和__stdcall最大的不同。
前者的原則是誰放進棧的誰清理,後者的原則是誰用完誰清理。
只要保證調用的一方的聲明和被調用的一方的聲明一致,就沒有問題
否則會出現兩邊都不清理參數或者參數被重復清理的問題,都會造成棧的不平衡,然後大多數情況下這個時候程序崩潰
啥?寫上WINAPI報錯是不是沒有引入必要的頭文件啊比如windows.h……
直接寫 __stdcall 來代替WINAPI也可以,如果沒有引入頭文件的話……
Ⅱ java調用vb webservice
使用java調用webservice,可以使用Axis(http://ws.apache.org/axis/),調用列車 時刻表服務的代碼:
String url="http://www.webxml.com.cn/WebServices/TrainTimeWebService.asmx"; //endpiont
String namespace = "http://WebXml.com.cn/"; //wsdl中的namespace
String methodName = "getStationAndTimeByTrainCode"; //調用哪個方法,這里是 getStationAndTimeByTrainCode,因為返回的 是數組,比較方便,其他都是返回dataSet,需要額外解析
String soapActionURI = "http://WebXml.com.cn/getStationAndTimeByTrainCode"; //wsdl中方法的soapActionURI
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));
call.setUseSOAPAction(true);
call.setSOAPActionURI(soapActionURI);
call.setOperationName(new QName(namespace, methodName));
call.addParameter("TrainCode", XMLType.XSD_STRING, ParameterMode.IN); //設置列車代碼參數
call.addParameter("UserID", XMLType.XSD_STRING, ParameterMode.IN); //設置商業用戶ID
call.setReturnType(XMLType.XSD_ANYTYPE); //返回值類型,這里為String數組
Object ret = call.invoke(new Object[] { "D32","" }); //這里是調用,參數為D32次列車
System.out.println("返回結果:" + ret); //這里需要根據返回類型不同,做不同處理
-------------------------
配置方面可以參考apache官方網站,自己動手才能掌握更牢
-------------------------
一個wsdl文件就完全可以說明webservice的具體信息了
Ⅲ java用什麼資料庫好VB呢
在選擇資料庫時,需要考慮多個因素,例如性能、安全性、成本和開發經驗。對於Java開發而言,Oracle資料庫是一個不錯的選擇,它提供了強大的功能和優秀的性能,尤其是在處理復雜的數據操作和事務管理方面。Oracle資料庫支持多種數據類型,並且擁有豐富的API和工具,使得Java開發者能夠輕松地進行資料庫操作。
而對於VB(Visual Basic)開發,Microsoft SQL Server是一個常見選擇。SQL Server擁有完善的企業級特性,包括高可用性、容錯能力和可擴展性,這些特性使得它在大型企業應用中非常受歡迎。此外,SQL Server與Visual Basic有著緊密的集成,開發者可以方便地使用ADO.NET等技術進行資料庫操作。
除了Oracle和SQL Server之外,還有許多其他優秀的資料庫可以選擇。例如,對於小型項目或特定場景,可以考慮使用SQLite或MySQL。SQLite是一個嵌入式資料庫,不需要單獨的服務端程序,適合嵌入式系統和移動應用。MySQL則是開源的關系型資料庫,擁有強大的社區支持和廣泛的兼容性。
選擇合適的資料庫不僅取決於開發語言,還取決於項目需求、團隊經驗和預算等因素。開發者在做出選擇時,應該綜合考慮這些因素,以確保項目能夠順利進行,並能夠滿足預期的功能和性能要求。
總之,對於Java項目,Oracle是一個值得推薦的選擇,而對於VB項目,SQL Server則是更合適的選擇。當然,還有其他多種資料庫可以依據具體需求來選擇。