为什么vb也可以正确地调用dll中的函数呢

dll的堆栈约定规则是stdcall方式,那么为什么vb也可以正确地调用dll中的函数呢?dll怎么知道调用它的不是c语言而是vb?

1个回答

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
C#如何动态调用VB编译的dll里的函数

有一个VB的工程项目,里面有很多类,每个类里都有相同的函数; 比如 a工程;类模块里有 b类,c类;而b类和c类都有相同的函数d; 我怎么在C#里动态调用b类的d函数呢? 因为是动态调用,所以不能是直接引用dll,再“对象名.函数名”; DLLImport和反射都尝试过,关键是我要定位到某个类的那个函数,就不知道怎么弄,麻烦大神帮帮忙

请教在VB调用DLL回调函数作参数的问题

请教在VB中如何调用Dll中的这个函数 bool BeginMultiInv(unsigned char usercode, HANDLE_FUN fun_name ) fun_name 调用者定义的回调函数如下 void _stdcall handle_data(BYTE* pData, int length)

求救!!! 调用一个DLL文件的函数,提供的调用方法好像是Delphi,VB怎么调用!

# 提供的调用方法如下 ## 3.2 封装模式 接口动态库的文件名为nxmi.dll,HIS直接调用nxmi.dll, 调用之前请先安装读卡环境,安装程序为inst.exe。 ## 3.3 调用方法 对外提供的接口函数: Procedure invoke(params :PChar; result : PChar) ; 我现在在VB中写的如下: 在模块下定义 Public Declare Function invoke Lib "nxmi.dll" (ByVal strIn As Byte, ByRef strOut As Byte) As String 在窗体内的代码如下 Private Sub Command1_Click() Dim gstrIn() As Byte Dim gstrOut As String gstrIn = "{functionname:''bizbuss'',params:{hid:'''" & gstrHid & "''',biztyp e: '''" & strBiztype & "''',ip:'''" & gstrIp & "''' ,indata:'''" & "<?xml version=""1.0"" encoding=""GBK""><DATA><HEAD><VER>01.01</VER><APP>J2</APP><WorkDate>20151019</WorkDate><Reserve></Reserve><ErrCode>0</ErrCode><ErrDetail></ErrDetail></HEAD><MSG><HEAD><YLJGDM>03000025</YLJGDM><JYRQ>20151019112525</JYRQ><MZZYBZ>0</MZZYBZ><ZXBXBZ>0</ZXBXBZ><ZHCXBZ>0</ZHCXBZ><DKXXBZ>1</DKXXBZ><PWD>1</PWD></HEAD></MSG></DATA>" & "''' }}" gstrOut = invoke(gstrIn, "") End Sub 执行的时候回提示类型不匹配,那我的入参应该如何带进去

使用call指令调用一个dll中的函数的时候,是怎么知道要调用函数的入口地址的?

调用dll函数本质的探究,当我们使用call指令调用一个dll中的函数的时候,是怎么知道要调用函数的入口地址的?如果用调试器调试,怎么也用同样的方法获得这个地址?

在VB.NET中怎样调用第三方的 .DLL

小弟初学VB.NET,现在遇到一个问题: VB2010怎样调用一个第三方的DLL? 例如:Prodave6.DLL (西门子开发的一个库,里面有和PLC通讯的函数...), 我尝试在项目中添加引用,但是提示 “未能添加对.........Prodave6.dll 的引用。请确保此文件可访问并且是一个有效的程序集或COM组件。” 请问这是什么原因?

VB 调用fortran函数(已经生成dll),怎么实现数组的传递?

VB调用fortran生成的dll。传数值,我已经实现,但是传数组地址没成功, 但是用C语言就可以找到数组的首地址,但是VB就不行,请VB的高手指教 fortran 代码如下(生成dll): subroutine ComputeFwd_DC1D(Pm,nParams,AB2,nd) !DEC$ ATTRIBUTES REFERENCE::Pm,nParams,AB2,nd implicit none integer i integer nParams,nd !real(8),dimension(1:nParams):: Pm !real(8),allocatable::Pm(:) !real(8) Pm(10) real(8) Pm(nParams) real(8) AB2 do i=1,nParams Pm(i)=150 enddo !Pm(1)=0 AB2=AB2+1000 nd=nd+10 return endsubroutine ComputeFwd_DC1D VB代码: 前面需声明: Private Declare Sub COMPUTEFWD_DC1D Lib "TEST1.dll" (ByRef Pm() As Double, ByRef nParams As Integer, ByRef AB22 As Double, ByRef nd As Integer) 调用时: Call COMPUTEFWD_DC1D(Pm, nParams, AB22, nd) Pm是数组,但是无法传递数组,AB22是单个数,就可以传递

vb语言是用什么机制寻找到的dll函数的入口地址,并怎么传递的堆栈数据呢?

请问动态dll链接库当vb以动态的方式调用的时候,vb语言是用什么机制寻找到的dll函数的入口地址,并怎么传递的堆栈数据呢?

关于VB.net调用C生成的dll,遇到的比字符集不匹配还纠结的问题

升级项目。从6.0到2012。 升级后出现调用dll中c的方法: DLLEXPORT BOOL WINAPI InsUpdDel( LPSTR lpSqlStr, LPRTNINFO RtnInfo ) 其中 _LPSTR lpSqlStr_ 是_char × _类型,在API _winnt.h_中定义: winnt.h // ANSI (Multi-byte Character) types // typedef _Null_terminated_ CHAR *NPSTR, *LPSTR, *PSTR; _为传入的sql,LPRTNINFO RtnInfo 是自己在头文件中定义的构造体构造体:_ typedef struct { long ErrCode; char ErrMsg[71]; } RTN_INFO; typedef RTN_INFO* LPRTNINFO; _当ErrMsg 传入汉字时,报错:传递给系统调用的数据区域太小。HERSULT:0x8007007A。 当lpSqlStr传入汉字时,却不会报错。 求大神指点,这到底是怎么一回事? vb中如果要改,实在太麻烦,有没有什么能够在VC下修改的方法?

VB调用C++编写的dll,当函数参数为数组时该如何调用?求大神解答,非常感谢。

dll 中的函数为: extern "C" _declspec (dllexport) int c_Test(float ax[7],float ax_0[7]) 在VB中想调用这个函数,之前写了如下代码总是报错,想知道正确的调用方法,希望大神帮 能指点一下,万分感谢。 ``` Private Declare Function c_Test Lib "c:\collision.dll" (ByRef a() As Single, ByRef a_0() As Single) As Long Private Sub Command1_Click() Dim b(7) As Single Dim b_0(7) As Single For i = 0 To 7 b(i) = 1 b_0(i) = 1 Next i Label1.Caption = c_Test(b(), b_0()) End Sub ```

vb 调用dll问题,有两个同名的dll,只是里面的一个函数名不同(test()和test())。

vb 调用dll问题,有两个同名的dll,只是里面的一个函数名不同(test()和test())。假定现在不知道是注册了哪一个dll,现实它注册哪一个就调用哪一个dll里面的函数(test()或test1()) (因为同名只有一个dll) Dim myt As New remote.Class1 Dim a, b, c As Double If c = myt.test(a, b) Then’如果注册的是test1,myt.test(a,b)这里报错“找不到方法或成员” ……………… Else c = myt.test1(a, b)’如果注册的是test,myt.test1(a,b)这里报错“找不到方法或成员” ……………… End If End Sub 用on Error 处理也不行,错误捕获不了,求大神相助

vb调用DLL转成DELPHI出错?

1.原来VB的程序,经执行可以通过 VB 数据类型定义 'Profile infomation Public Type LJIF_PROFILE_INFO fXStart As Single fXPitch As Single End Type 定义 Public Declare Function LJIF_GetProfileData Lib "LJIF.dll" (ByVal ProfileTarget As Long, ByRef pProfileInfo As LJIF_PROFILE_INFO, ByRef pProfile As Single, ByVal nCount As Long) As Long 条用 rc = LJIF_GetProfileData(LJIF_HEAD_INDEX(GetProfileParam1.ListIndex), ProfileInfo, pBuffer(0), GetProfileParam2) 'Get Profile Data 2.改成DELPHI后,就这个函数提示参数错误 DELPHI 定义 Type pLJIF_PROFILE_INFO=^LJIF_PROFILE_INFO; LJIF_PROFILE_INFO=record fXStart : Single; fXPitch : Single; End ; /Get Profile Data Function LJIF_GetProfileData ( ProfileTarget:LongInt; var pProfileInfo: LJIF_PROFILE_INFO;var pProfile:array of Single; nCount :LongInt): LongInt;external 'LJIF.dll'; 调用: rc := LJIF_GetProfileData(0, ProfileInfo, pBuffer, GetProfileParam2.Value) ; 始终报参数错误? 求大侠指点!

我尝试在python中调用DLL,但我找不到函数,请帮助我

正如标题所说,我试图使用python调用一个DLL,但是遇到了问题 ## # 请帮助我,非常感谢**** **python**: ``` dllPath = r"D:\fomas-Com" os.chdir(dllPath) dllName = dllPath + "\Imccor01.dll" dll = cdll.LoadLibrary(name=dllName) dll.RainflowAnalysis.AddResidue() ``` **发生的错误:** ``` Traceback (most recent call last): File "D:/111/Test/dlltest.py", line 17, in <module> dll.DFile.Open() File "D:\111\Anaconda3\envs\env_name\lib\ctypes\__init__.py", line 361, in __getattr__ func = self.__getitem__(name) File "D:\111\Anaconda3\envs\env_name\lib\ctypes\__init__.py", line 366, in __getitem__ func = self._FuncPtr((name_or_ordinal, self)) AttributeError: function 'DFile' not found ``` **在VB中成功调用:** ``` # 工程中加载了Dll Sub ProcessFile(SrcFileName As String) On Error GoTo FinalCleanUp Call ClearAllMsg Dim SrcFile As New DFile, C As DChannel, TotalNum As Integer SrcFile.Open SrcFileName, cdmFileRead For i = 1 To SrcFile.Count Form1.DataName.Text = SrcFile.GetObjectName(i) ```

VB.NET调用VC生成的DLL,但不会在VB.NET中调用,请高手帮忙,感谢

以下是camer_def.h的内容: #ifndef __CAMERDEF_H__ #define __CAMERDEF_H__ //消息类型 typedef enum { CAMERDLG_MESS_SHOT = 1, CAMERDLG_MESS_CONFIG, //配置 CAMERDLG_MESS_GETCFG, //获取配置 }CAMERDLG_MESS_TYPE; //回调函数结构体 typedef struct { char user_id[32]; char desc[256]; BYTE state; }CamerCbParam_t; //时间段结构体 typedef struct { UCHAR StartHour; /* 起始小时 */ UCHAR StartMinute; /* 起始分钟 */ UCHAR EndHour; /* 结束小时 */ UCHAR EndMinute; /* 结束分钟 */ UCHAR Week; /* 星期,每个位代表一天 */ UCHAR resv3; }PERIOD_STRUCT; //Camer系统配置(32字节) typedef struct { //4字节 BYTE CamerType; /* Camer类型CAMER_TYPE_ENUM */ BYTE ImageSize; /* 图像大小,见CAMER_IMAGE_SIZE_ENUM定义 */ USHORT SampleTime; /* 采集周期(单位分钟) */ //4字节 BYTE ImageCompress; /* 压缩率(0~255) */ BYTE CamerId; /* Camer编号(0~255) */ BYTE Port:4; /* 串口号(仅读取配置时使用) */ BYTE Baudrate:4; /* 波特率(仅读取配置时使用) */ BYTE resv; /* 保留 */ //4字节 USHORT PowerUpTime; /* 上电延时(单位毫秒) */ BYTE PowerChannel; /* 电源控制IO通道 */ BYTE resv2; /* 保留 */ //时间段1(6字节) PERIOD_STRUCT Period1; //时间段2(6字节) PERIOD_STRUCT Period2; //8个字节 BYTE bNeedReply:1; /* 发送数据需要应答 */ BYTE bFatfs:1; /* 使用文件系统 */ BYTE bOfflineSample:1; /* 通讯不在线时也采集数据 */ BYTE bSendLog:1; /* 发送日志 */ BYTE bPowerControl:1; /* 电源控制 */ BYTE bTimeAsFileName:1; /* 使用时间作为文件名 */ BYTE bResv:2; BYTE resvarray[7]; /* 保留7个字节 */ }CAMER_CFG_STRUCT; //摄像头配置 typedef struct { CAMER_CFG_STRUCT DevCfg; //电源控制使能 BYTE PwrCtrl; //时段使能 UCHAR Period1EN; UCHAR Period2EN; //发送模式 UCHAR SendMode; UCHAR Resv; //密码 char Password[32]; //重试次数 INT32 RetryCnt; INT32 Timeout; //发送索引 UINT32 SendIndex; UINT32 ExecuteIndex; UINT32 StateIndex; //回调函数 void* (__stdcall *callback)(HWND hWnd,void* buffer,void* parameter); //窗口句柄 HWND hWnd; }CamerCfg_t; #endif 以下是拍照相关的函数: //CAMER拍照指令 //参数:userid 设备编码 TCMDLLAPI int TCMCALL do_send_camer_shot(char* userid, //设备编码 CamerCfg_t* CamerCfg, //参数 char *mess); 该函数已封装在 tcm_dll.dll 中了,但以上是VC的代码,看不懂,也不知道怎么转换,请高手帮忙转成 vb.net 的代码,谢谢了!!

怎么把dll创建的消息循环转移到调用它的函数的窗口中去?

怎么把dll创建的消息循环转移到调用它的函数的窗口中去?动态库调用消息是不是不能保持住调用呢?

C#调用MFCdll里面的回调函数

.h文件如下 #include "StdAfx.h" #ifdef RTWRE_EXPORTS #define RTWRE_API __declspec(dllexport) #else #define RTWRE_API __declspec(dllimport) #ifdef _DEBUG #pragma comment(lib,"FunctionDll.lib") #else #pragma comment(lib,"FunctionDll.lib") #endif #endif //int MarkID——标志点ID号,1——角点,2——边点 //向量 double Va, double Vb, double Vc typedef void (CALLBACK * CHECKCLCFUNCTION) (int MarkID, double Va, double Vb,double Vc); CHECKCLCFUNCTION m_pCheckFunction; //回调函数指针 //返回input+2 extern "C" RTWRE_API int FDllTest(int input); //设置回调函数 /* SetCheckFunctionPoint 功 能 设置回调函数。 格 式 void SetCheckFunctionPoint(CHECKFUNCTION1 pCheckFuntion); 参 数 CHECKFUNCTION1 pCheckFuntion 回调函数名,具体定义见回调函数说明 返 回 值 无 */ extern "C" RTWRE_API void SetCheckFunctionPoint(CHECKCLCFUNCTION pCheckFuntion); 具体调用的函数如下 ![图片说明](https://img-ask.csdn.net/upload/201712/12/1513073186_707668.jpg) C#代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; using System.Runtime.InteropServices; namespace CSharpCallBackC { //FunctionDll.dll [UnmanagedFunctionPointer(CallingConvention.Cdecl)] public delegate void ControlData(int a, double b,double c,double d); [DllImport(@"FunctionDll.dll", EntryPoint = "SetCheckFunctionPoint", CallingConvention = CallingConvention.Cdecl)] public partial class Form1 : Form { public Form1() { InitializeComponent(); } } } 主要问题在于最后声明函数的时候不会写,在 public static extern 语句后面总会报错,还有就是如果使用结构体应该怎么写。

C# 反射调用 dll, 调用完毕后,dll文件还显示有进程占用

我用C# 做的windows 服务, 创建线程通过反射的方式调用DLL, 当线程的方法执行完,被反射调用的DLL,无法移动或被替换,显示当前有进程占用。 我的预期,windows服务一直在机器上运行,当我想更新对应dll的方法时,只需要在windows服务没调用这个dll的时候,把文件替换。 部分代码: foreach (DataRow dr in ds.Tables[0].Rows) 根据条件在数据库中查的结果集 { Task task = new Task(); Thread t = new Thread(new ThreadStart(task.Start)); t.Start(); } public class Task { public void Start() { _ass = Assembly.LoadFrom("DLL 的路径"); } }

java(JNA/JNative/JNI等)怎样调用 DLL 中 返回 指针 的函数 得到指针值?

<p><strong>JAVA</strong>(JNA/JNative/JNI等)怎样调用<strong><span style="color: blue;">DLL</span></strong>中 <span style="color: #ff0000;">返回指针</span>的函数(指针函数),得到<strong>其值</strong>(其指针对应的值)<strong>?</strong></p> <p>以下给出其它语言的调用示例:</p> <p> </p> <p>//////////////////////////////////////////////////////////////////////////////////////////</p> <p> </p> <p><strong>vb中的调用方式:</strong><br /><br />Private Declare Function functionA Lib "mydll.dll" (ByVal a As Long, ByVal  b As Long, ByVal c As String, d As Long) As Long<br /><br />jieguo = "    "<br />no1 = functionA(0,0,strA,0) '返回识别结果字符的指针<br />no2 = lstrcpy(jieguo, no1) 'VB中用lstrcpy就可以从指针得到字符了,当然你也可以选择其他的方式</p> <p> </p> <p>我要的就是<strong> <em>jiegou</em></strong><br /><br />///////////////////////////////////////////////////////////////////////////////////////////</p> <p><br /><strong>vc中的调用:</strong><br /><br />char* WINAPI functionA(...)<br />    Def_API(tag_functionA, functionA, "mydll.dll")<br /><br />char* ret = functionA(...);<br /><br />我要的就是 <strong>ret</strong>字符串</p> <p> </p> <p>///////////////////////////////////////////////////////////////////////////////////////////</p> <p> </p> <p><span style="color: #ff0000;">那JAVA中怎样来调用呢</span>,DLL我是没办法更改的!试过用JNative、JNA调用,都没有调用<strong>指针函数</strong>的示例.自己用<strong>C</strong>写一个DLL<strong>间接</strong>调用估计可以,但C写DLL不会...</p>

用vb.net(或C#)调用C++编写的DLL时遇到的问题

这部分是在c++中可以正常工作的部分,其声明如下: extern "C" int LHD_Main(unsigned char *pImage, RECT *rcRoi,int w, int h, char *PlateCharacters, RECT *rectPlateLocation, int *PlateReliability, int nMod); 调用如下 //加载图片 IplImage *image = cvLoadImage(file_name,-1); if (image == NULL) { printf("image is not exist!\n"); return -1; } //BGR数据 unsigned char *pRawData = (unsigned char *)malloc(image->width*image->height*image->nChannels); if (NULL == pRawData) { printf("memalloc error\n"); return -1; } int pitch = image->nChannels*image->width; int width = image->width; int height = image->height; //转换成3通道图像 for (int y = 0; y < image->height; y++) { for (int x = 0; x <image->width; x++) { *(pRawData + y*pitch + 3*x) = ((unsigned char *)(image->imageData + image->widthStep*y))[3*x]; *(pRawData + y*pitch + 3*x + 1) = ((unsigned char *)(image->imageData + image->widthStep*y))[3*x+1]; *(pRawData + y*pitch + 3*x + 2) = ((unsigned char *)(image->imageData + image->widthStep*y))[3*x+2]; } } char cFileName[128]; sprintf_s(cFileName,"%s","京"); cProvince[0] = cFileName[0]; cProvince[1] = cFileName[1]; LHD_Init(LPR_WIDTH, LPR_HEIGHT, cProvince); //start license plate recognition module,宽高减少1是图像坐标从0开始 RECT recttROI = {0,0,image->width -1, image->height- 1};//设置区域 RECT rectPlate = {0,0,0,0};//输出定位结果 RECT rectTmp = {0,0,0,0}; int nblePlate = 0;// char HPHM[128] = {'0'};// char mHPHM[128] = {'0'}; int mnblePlate = 0; bool m_bLPR = 0; if(LHD_Main(pRawData,&recttROI,width,height, HPHM, &rectTmp,&nblePlate, i)) 这些代码是可以正常工作的。 下面我在VB.NET中如此声明 <DllImport("LPR.dll", EntryPoint:="LHD_Main", CallingConvention:=CallingConvention.Cdecl)> _ Public Shared Function LHD_Main(ByRef pImage As Byte, ByRef rcRoi As RECT, ByVal w As Int32, ByVal h As Int32, ByRef PlateCharacters As Byte, ByRef rectPlateLocation As RECT, ByRef PlateReliability As Int32, ByVal nMod As Integer) As Int32 End Function Public Structure RECT Dim left As Int32 Dim top As Int32 Dim right As Int32 Dim bottom As Int32 End Structure 调用如下 Dim cProvince(1) As byte cProvince(0) = &HBE cProvince(1) = &HA9 LHD_Init(768, 288, cProvince(0)) Dim path As String = "d:\pic\rtemp.jpg" Dim rImage As IntPtr = Emgu.CV.CvInvoke.cvLoadImage(path, Emgu.CV.CvEnum.LOAD_IMAGE_TYPE.CV_LOAD_IMAGE_COLOR) Dim mImage As Emgu.CV.Structure.MIplImage = CType(System.Runtime.InteropServices.Marshal.PtrToStructure(rImage, GetType(Emgu.CV.Structure.MIplImage)), Emgu.CV.Structure.MIplImage) Dim RawData(mImage.width * mImage.height * mImage.nChannels) Dim TempData(mImage.imageSize) As Byte Marshal.Copy(mImage.imageData, TempData, 0, mImage.imageSize) Dim p = mImage.nChannels * mImage.width Dim w = mImage.width Dim h = mImage.height '转换成3通道图像 For y = 0 To h - 1 For x = 0 To w - 1 RawData(y * p + 3 * x) = TempData(3 * x + mImage.widthStep * y) RawData(y * p + 3 * x + 1) = TempData(3 * x + mImage.widthStep * y + 1) RawData(y * p + 3 * x + 2) = TempData(3 * x + mImage.widthStep * y + 2) Next Next Dim recttROI As New RECT recttROI.left = 0 recttROI.top = 0 recttROI.right = mImage.width - 1 recttROI.bottom = mImage.height - 1 Dim rectPlate As New RECT Dim rectTmp As New RECT Dim mnblePlate As Integer = 0 Dim HPHM(127) As Byte Dim rw As Integer = mImage.width Dim rh As Integer = mImage.height For i = 0 To 8 Dim result As Integer = LHD_Main(RawData(0), recttROI, rw, rh, HPHM(0), rectTmp, mnblePlate, i) 运行后在LHD_Main处报错: **尝试读取或写入受保护的内存。这通常指示其他内存已损坏。** 求问怎么解决!

VB调用C++编写的DLL,无报错但是自动弹出

小弟编写了一个C++的DLL,其头文件nihe.h如下: #include "stdafx.h" #define EXPORT _declspec(dllexport) extern "C" EXPORT void matching(double dGPSData[],unsigned int GPSCounts32,double dPlaneData[],unsigned int u32PlaneCounts,double R[], unsigned int u32Rcounts,double T[],unsigned int u32Tcounts,double K,bool bK,double GABC[],double Gxyz[]); 源文件nihe.cpp如下: #include "nihe.h" #include "stdafx.h" typedef void (*mat)(double dGPSData[],unsigned int GPSCounts32,double dPlaneData[], unsigned int u32PlaneCounts,double R[], unsigned int u32Rcounts,double T[],unsigned int u32Tcounts,double K,bool bK/*,double GABC[],double Gxyz[]*/); typedef void (*_mat)(double GABC[],double Gxyz[]); void matching(double dGPSData[],unsigned int GPSCounts32,double dPlaneData[], unsigned int u32PlaneCounts,double R[], unsigned int u32Rcounts,double T[],unsigned int u32Tcounts,double K,bool bK,double GABC[],double Gxyz[]) { HMODULE hMod =LoadLibrary("RT_Calculation.dll"); if(hMod!=NULL) { mat showinfo1; _mat showinfo2; showinfo1=(mat)GetProcAddress(hMod,"fnwMPS_MeasrNet_Get_R_T"); showinfo2=(_mat)GetProcAddress(hMod,"BFG54Parameter"); if(showinfo1 && showinfo2 ) { showinfo1(dGPSData, GPSCounts32, dPlaneData, u32PlaneCounts, R, u32Rcounts, T, u32Tcounts, K, bK); showinfo2(GABC, Gxyz); } } } 之后,我做了一个VB的调用文件,在VB模块里,调用DLL及其函数: Public Declare Sub matching Lib ".\nihe.dll" (ByRef dGPSData As Double, ByVal u32GPSCounts As UInteger, ByRef dPlaneData As Double, ByVal u32PlaneCounts As UInteger, ByRef R As Double, ByVal u32Rcounts As UInteger, ByRef T As Double, ByVal u32Tcounts As UInteger, ByRef K As Double, ByVal bK As Boolean, ByRef GABC As Double, ByRef Gxyz As Double) 然后做了一个按钮,期待吗如下: Dim dGPSData(8), GABC(5), Gxyz(2) As Double Dim u32GPSCounts As UInteger = 9 Dim dPlaneData(8) As Double Dim u32PlaneCounts As UInteger = 9 Dim R(8) As Double Dim u32Rcounts As UInteger = 9 Dim T(2) As Double Dim u32Tcounts As UInteger = 3 Dim K As Double = 1.0 Dim bK As Boolean = False dGPSData(0) = 1731.48 dGPSData(1) = 732.16 dGPSData(2) = 1082.66 dPlaneData(0) = 1590 dPlaneData(1) = 200 dPlaneData(2) = 1000 dGPSData(3) = -281.33 dGPSData(4) = 3798.74 dGPSData(5) = 1379.06 dPlaneData(3) = 468 dPlaneData(4) = 3690 dPlaneData(5) = 678 dGPSData(6) = 4936.98 dGPSData(7) = 4316.22 dGPSData(8) = 84.77 dPlaneData(6) = 5760 dPlaneData(7) = 2689 dPlaneData(8) = 270 matching(dGPSData(0), u32GPSCounts, dPlaneData(0), u32PlaneCounts, R(0), u32Rcounts, T(0), u32Tcounts, K, bK, GABC(0), Gxyz(0)) 'matched(GABC(0), Gxyz(0)) TextBox1.Text = R(0) TextBox2.Text = R(1) TextBox3.Text = R(2) TextBox4.Text = R(3) TextBox5.Text = R(4) TextBox6.Text = R(5) TextBox7.Text = R(6) TextBox8.Text = R(7) TextBox9.Text = R(8) TextBox10.Text = T(0) TextBox11.Text = T(1) TextBox12.Text = T(2) TextBox13.Text = GABC(0) TextBox14.Text = GABC(1) TextBox15.Text = GABC(2) TextBox16.Text = GABC(3) TextBox17.Text = GABC(4) TextBox18.Text = GABC(5) TextBox19.Text = Gxyz(0) TextBox20.Text = Gxyz(1) TextBox21.Text = Gxyz(2) 启动调用程序之后,每次一点按钮,就自动弹出但也没报错。大神们能不能帮帮小弟看看到底哪里有问题啊,我总觉得是参数传递出了问题但是又找不到哪里出错了

大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了

大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、电子书搜索 对于大部分程序员...

在中国程序员是青春饭吗?

今年,我也32了 ,为了不给大家误导,咨询了猎头、圈内好友,以及年过35岁的几位老程序员……舍了老脸去揭人家伤疤……希望能给大家以帮助,记得帮我点赞哦。 目录: 你以为的人生 一次又一次的伤害 猎头界的真相 如何应对互联网行业的「中年危机」 一、你以为的人生 刚入行时,拿着傲人的工资,想着好好干,以为我们的人生是这样的: 等真到了那一天,你会发现,你的人生很可能是这样的: ...

程序员请照顾好自己,周末病魔差点一套带走我。

程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

你以为这样写Java代码很6,但我看不懂

为了提高 Java 编程的技艺,我最近在 GitHub 上学习一些高手编写的代码。下面这一行代码(出自大牛之手)据说可以征服你的朋友,让他们觉得你写的代码很 6,来欣赏一下吧。 IntStream.range(1, 5).boxed().map(i -&gt; { System.out.print("Happy Birthday "); if (i == 3) return "dear NAME"...

上班一个月,后悔当初着急入职的选择了

最近有个老铁,告诉我说,上班一个月,后悔当初着急入职现在公司了。他之前在美图做手机研发,今年美图那边今年也有一波组织优化调整,他是其中一个,在协商离职后,当时捉急找工作上班,因为有房贷供着,不能没有收入来源。所以匆忙选了一家公司,实际上是一个大型外包公司,主要派遣给其他手机厂商做外包项目。**当时承诺待遇还不错,所以就立马入职去上班了。但是后面入职后,发现薪酬待遇这块并不是HR所说那样,那个HR自...

女程序员,为什么比男程序员少???

昨天看到一档综艺节目,讨论了两个话题:(1)中国学生的数学成绩,平均下来看,会比国外好?为什么?(2)男生的数学成绩,平均下来看,会比女生好?为什么?同时,我又联想到了一个技术圈经常讨...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

MySQL数据库面试题(2020最新版)

文章目录数据库基础知识为什么要使用数据库什么是SQL?什么是MySQL?数据库三大范式是什么mysql有关权限的表都有哪几个MySQL的binlog有有几种录入格式?分别有什么区别?数据类型mysql有哪些数据类型引擎MySQL存储引擎MyISAM与InnoDB区别MyISAM索引与InnoDB索引的区别?InnoDB引擎的4大特性存储引擎选择索引什么是索引?索引有哪些优缺点?索引使用场景(重点)...

如果你是老板,你会不会踢了这样的员工?

有个好朋友ZS,是技术总监,昨天问我:“有一个老下属,跟了我很多年,做事勤勤恳恳,主动性也很好。但随着公司的发展,他的进步速度,跟不上团队的步伐了,有点...

我入职阿里后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。 01、简历的本质 作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深...

程序员写出这样的代码,能不挨骂吗?

当你换槽填坑时,面对一个新的环境。能够快速熟练,上手实现业务需求是关键。但是,哪些因素会影响你快速上手呢?是原有代码写的不够好?还是注释写的不够好?昨夜...

带了6个月的徒弟当了面试官,而身为高级工程师的我天天修Bug......

即将毕业的应届毕业生一枚,现在只拿到了两家offer,但最近听到一些消息,其中一个offer,我这个组据说客户很少,很有可能整组被裁掉。 想问大家: 如果我刚入职这个组就被裁了怎么办呢? 大家都是什么时候知道自己要被裁了的? 面试软技能指导: BQ/Project/Resume 试听内容: 除了刷题,还有哪些技能是拿到offer不可或缺的要素 如何提升面试软实力:简历, 行为面试,沟通能...

优雅的替换if-else语句

场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解锁新姿势:干掉过多的if-else!!!本文将介绍三板斧手段: 优先判断条件,条件不满足的,逻辑及时中断返回; 采用策略模式+工厂模式; 结合注解,锦...

离职半年了,老东家又发 offer,回不回?

有小伙伴问松哥这个问题,他在上海某公司,在离职了几个月后,前公司的领导联系到他,希望他能够返聘回去,他很纠结要不要回去? 俗话说好马不吃回头草,但是这个小伙伴既然感到纠结了,我觉得至少说明了两个问题:1.曾经的公司还不错;2.现在的日子也不是很如意。否则应该就不会纠结了。 老实说,松哥之前也有过类似的经历,今天就来和小伙伴们聊聊回头草到底吃不吃。 首先一个基本观点,就是离职了也没必要和老东家弄的苦...

2020阿里全球数学大赛:3万名高手、4道题、2天2夜未交卷

阿里巴巴全球数学竞赛( Alibaba Global Mathematics Competition)由马云发起,由中国科学技术协会、阿里巴巴基金会、阿里巴巴达摩院共同举办。大赛不设报名门槛,全世界爱好数学的人都可参与,不论是否出身数学专业、是否投身数学研究。 2020年阿里巴巴达摩院邀请北京大学、剑桥大学、浙江大学等高校的顶尖数学教师组建了出题组。中科院院士、美国艺术与科学院院士、北京国际数学...

为什么你不想学习?只想玩?人是如何一步一步废掉的

不知道是不是只有我这样子,还是你们也有过类似的经历。 上学的时候总有很多光辉历史,学年名列前茅,或者单科目大佬,但是虽然慢慢地长大了,你开始懈怠了,开始废掉了。。。 什么?你说不知道具体的情况是怎么样的? 我来告诉你: 你常常潜意识里或者心理觉得,自己真正的生活或者奋斗还没有开始。总是幻想着自己还拥有大把时间,还有无限的可能,自己还能逆风翻盘,只不是自己还没开始罢了,自己以后肯定会变得特别厉害...

男生更看重女生的身材脸蛋,还是思想?

往往,我们看不进去大段大段的逻辑。深刻的哲理,往往短而精悍,一阵见血。问:产品经理挺漂亮的,有点心动,但不知道合不合得来。男生更看重女生的身材脸蛋,还是...

程序员为什么千万不要瞎努力?

本文作者用对比非常鲜明的两个开发团队的故事,讲解了敏捷开发之道 —— 如果你的团队缺乏统一标准的环境,那么即使勤劳努力,不仅会极其耗时而且成果甚微,使用...

为什么程序员做外包会被瞧不起?

二哥,有个事想询问下您的意见,您觉得应届生值得去外包吗?公司虽然挺大的,中xx,但待遇感觉挺低,马上要报到,挺纠结的。

当HR压你价,说你只值7K,你该怎么回答?

当HR压你价,说你只值7K时,你可以流畅地回答,记住,是流畅,不能犹豫。 礼貌地说:“7K是吗?了解了。嗯~其实我对贵司的面试官印象很好。只不过,现在我的手头上已经有一份11K的offer。来面试,主要也是自己对贵司挺有兴趣的,所以过来看看……”(未完) 这段话主要是陪HR互诈的同时,从公司兴趣,公司职员印象上,都给予对方正面的肯定,既能提升HR的好感度,又能让谈判气氛融洽,为后面的发挥留足空间。...

面试阿里p7,被按在地上摩擦,鬼知道我经历了什么?

面试阿里p7被问到的问题(当时我只知道第一个):@Conditional是做什么的?@Conditional多个条件是什么逻辑关系?条件判断在什么时候执...

Python爬虫,高清美图我全都要(彼岸桌面壁纸)

爬取彼岸桌面网站较为简单,用到了requests、lxml、Beautiful Soup4

无代码时代来临,程序员如何保住饭碗?

编程语言层出不穷,从最初的机器语言到如今2500种以上的高级语言,程序员们大呼“学到头秃”。程序员一边面临编程语言不断推陈出新,一边面临由于许多代码已存在,程序员编写新应用程序时存在重复“搬砖”的现象。 无代码/低代码编程应运而生。无代码/低代码是一种创建应用的方法,它可以让开发者使用最少的编码知识来快速开发应用程序。开发者通过图形界面中,可视化建模来组装和配置应用程序。这样一来,开发者直...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

Java岗开发3年,公司临时抽查算法,离职后这几题我记一辈子

前几天我们公司做了一件蠢事,非常非常愚蠢的事情。我原以为从学校出来之后,除了找工作有测试外,不会有任何与考试有关的事儿。 但是,天有不测风云,公司技术总监、人事总监两位大佬突然降临到我们事业线,叫上我老大,给我们组织了一场别开生面的“考试”。 那是一个风和日丽的下午,我翘着二郎腿,左手端着一杯卡布奇诺,右手抓着我的罗技鼠标,滚动着轮轴,穿梭在头条热点之间。 “淡黄的长裙~蓬松的头发...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

面试官:你连SSO都不懂,就别来面试了

大厂竟然要考我SSO,卧槽。

立即提问
相关内容推荐