谁能救我!!!!!!!!!!!!!!给分的
热门软件下载:
在delphi中利用visibroker开发三层的corba应用如何返回一个自定义的类或者是delphi的内部类(如tstringgrid类)。
急呀,大虾们请帮帮忙呀。
推荐阅读
我先跟你说一下思路吧。你得好好研究一下内存、指针什么,上次我写这个玩艺是很早以前了,都忘的差不多了。
就是先把类放到连续的内存中
这是一个类:
class
|---int
|---int
|---string
有三个成员,他们在内存中时,int 和类是在一起的,但是string是存在另一个地方,只是把指针和类放在一起了。所以要解决的就是把 string 弄过来
然后,你就可以把这一连续的内存放到 olevariant 中了。
传~~,到地方之后解来包就行了。
一个简单测试上面是不是正确的方法:
写个函数,把那连续内存存到一文件中。重启,再读出那文件,看看能不能把类还原就行了。
像上面那个类,写到连续内存中应该是这样子:
=======================================
类占内存大小 类实例 字符串大小 字符串值
=======================================
中间没有空格
copymemory 可以用来内存的复制
1.算出类实际要的内存大小,按上面连续内存的格式,int 大小 + 类本身大小 + int + 字符串大小
2.申请这么大的内存
3.复制内存,先把类本身大小copy到内存的0位置上,再把类复制到后面,再存字符串大小,再去字符串复制到后在
就ok了
相关评论