所以。。。。。。。
不过,我不知道他怎么用的,公司里就是要我用这个dll的函数做。不知道可不可以用fso。
我再研究研究好了。
汗一个:ultraedit我还是不知道怎么看内码。。。没用过。只知道功能强大。代码进去我自己都看不明白。不知道要看什么。
无论如何
感谢各位的帮忙。
右键 点HEX编辑 就能看16位内码了
或者用快捷键 CTRL+H 来回切换
private unsafe void button1_Click(object sender, System.EventArgs e)
{
Test_Struct data = new Test_Struct();
byte[] bt;
string strV = "Hello, this is a test";
//bt = strV.ToCharArray();
bt = Encoding.ASCII.GetBytes(strV);
int l=bt.Length;
data.tel_id = 99887;
data.test_data = 99999;
data.Telegram=new byte[l];
bt.CopyTo(data.Telegram,0);
//System.Runtime.InteropServices.Marshal.Copy(bt, 0, data.Telegram, bt.Length);
///Buffer.BlockCopy(bt, 0, data.Telegram, 0, bt.Length);
//data.Telegram = strV;
//ip = new IntPtr((void *)data.Telegram);
//System.Runtime.InteropServices.Marshal.Copy(bt,0,ip,bt.Length);
//MessageBox.Show(data.Telegram[0].ToString());
fixed(byte *p = data.Telegram)
{
//p = (byte *)data.Telegram;
try
{
stlc.AddToHead(ref p[0], l,1);
}
catch (Exception et)
{
MessageBox.Show(et.Message);
}
}
strV = string.Format("After add data. total {0} telegrams in list", stlc.Size);
MessageBox.Show(strV);
}
private unsafe void button2_Click(object sender, System.EventArgs e)
{
byte[] buf = new byte[4086];
//int telid;
int l;
//string strV;
//string strV1;
//IntPtr p = new IntPtr((void *)&data);
fixed(byte *p = buf)
{
try
{
if(stlc.Size>0)
{
l = stlc.GetFromTail(ref p[0],0);
stlc.DelFromTail(1);
MessageBox.Show(Encoding.ASCII.GetString(buf,0,l));
}
else
{
MessageBox.Show ("no data");
}
}
catch (Exception et)
{
MessageBox.Show (et.Message);
}
}
}
[/CODE][此贴子已经被作者于2006-8-10 16:16:22编辑过]