当前位置:编程学习 > C#/ASP.NET >>

精通delphi和C#的高手进啊

下面是用delphi写的一个程序,请高手看看怎么用C#写出来啊    


Procedure TReadWriteSystemCard.TGetErrorInfo(i_Error: Integer; Var str_Error:
          String);
Var
  p_Error: PChar;                //pchar 字符型指针        相当于C#中的ref char
Begin
  GetMem(p_Error, 50);             // 分配大小为50个字节的内存空间
  GetErrorInfo(i_Error, p_Error);   //这个是自定义的一个函数  不用管  
  str_Error := String(p_Error);
  FreeMem(p_Error)                 //释放内存空间  与getmem对应
End; --------------------编程问答--------------------

string GetErrorInfo(int i_Error)
{
    string str_err;
    GetErrorInfo(i_Error,ref str_err);
    return stt_err;
}

or

void GetErrorInfo(int i_Error,ref string str_err)
{
    GetErrorInfo(i_Error,ref str_err);
}



关键在于GetErrorInfo,这个函数向参数p_Error指向的内存写入了结果错误信息
应该是这样的…… --------------------编程问答-------------------- delphi中定义的那个p_Error变量不要了吗
--------------------编程问答--------------------
引用 2 楼  的回复:
delphi中定义的那个p_Error变量不要了吗


所以说关键看你的GetErrorInfo这个函数怎么实现了,c#内存分配不用用户操心的 --------------------编程问答-------------------- 不知道 GetErrorInfo,没有意义

PChar传入string --------------------编程问答-------------------- 1楼和4楼你们有msn吗 我msn:ouyangxue123@live.com  加我详细聊啊  qq也行:782796624   最好还是msn  公司不让用qq的
--------------------编程问答-------------------- GetErrorInfo这个函数是调用的dll里的函数  说实话我也不知道这个函数有什么功能  我不知道怎么查看dll里的函数啊   我们经理给我项目的时候什么说明文档都没有 --------------------编程问答--------------------
引用 1 楼  的回复:
C# code

string GetErrorInfo(int i_Error)
{
    string str_err;
    GetErrorInfo(i_Error,ref str_err);
    return stt_err;
}


or

void GetErrorInfo(int i_Error,ref string str_err)
{
    GetErrorInfo……


你这第二种写法会无限递归吧 --------------------编程问答-------------------- --------------------编程问答--------------------
引用 7 楼  的回复:
引用 1 楼  的回复:

C# code

string GetErrorInfo(int i_Error)
{
string str_err;
GetErrorInfo(i_Error,ref str_err);
return stt_err;
}


or

void GetErrorInfo(int i_Error,ref string str_err)
{……

呃……没注意俩名字一样了
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,