首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

求C#程序转换成delphi程序(关于com组件跟函数指针)

2012-12-23 
求C#程序转换成delphi程序(关于com组件和函数指针) static CallBack ca new CallBack(Form1.CallBackPro

求C#程序转换成delphi程序(关于com组件和函数指针)
 static CallBack ca = new CallBack(Form1.CallBackProc);     //得到函数指针
        uint pCallBack = (uint)(Marshal.GetFunctionPointerForDelegate(ca).ToInt32());   

        private void button3_Click(object sender, EventArgs e)
        {
            FullTunnelServiceControl ctr1 = new FullTunnelServiceControl();
            object hr = ctr1.StartRecv_User(pCallBack);         

            if (hr.ToString() == "0"){
                textBox1.Text = "接收成功";
            }
            else {
                textBox1.Text = hr.ToString();
            }          
        }

        public static void  CallBackProc(String BS_flag, String svalue1, String svalue2, String svalue3, String svalue4, 
                                                        String svalue5, String svalue6, String svalue7, String svalue8)
        {
            //MessageBox.Show("进入回调函数里面");
            String msgtemp = "";

            if ( BS_flag.CompareTo("4") == 0 ){
                msgtemp += " [业务响应包] SequenceID:"+ svalue1+" MessID:"+svalue2+" STATUS:"+svalue3;
                MessageBox.Show(msgtemp,"业务响应包");
            }
           else if (BS_flag.CompareTo("5") == 0){
               msgtemp += "[上行短信包] SequenceID:" +  svalue1 +"  发送号码:" + svalue2 +"  接收号码:" + svalue3+
                                    "   接收时间:" + svalue4 + "  短信内容:" +svalue5;
                MessageBox.Show(msgtemp,"上行短信包");
            }


            else if (BS_flag.CompareTo("7") == 0){
                msgtemp += "[短信回执包] SequenceID:" + svalue1 + "  MessID:" + svalue2 + "  接收号码:"+ svalue3
                                    + "  发送号码:" + svalue4 + "  提交时间:"+ svalue5 + "  下发时间:" + svalue6 
                                    +"  短信状态:" + svalue7 + "  错误代码:" + svalue8;
                MessageBox.Show(msgtemp, "短信回执包");             
            }
        }

[解决办法]
没人回答,我要提前一些
[解决办法]
可以支付费用
[解决办法]
delphi要简单,将CallBackProc定义个类,直接当参数传递就可

去搜 delphi 回调函数
[解决办法]
搜索DELPHI的回调函数或函数指针,都可以!

热点排行