应该没问题,可能TBitmap太大,而申请的共享内存大小有限

解决方案 »

  1.   

        在同一个程序内部(如EXE调用进程内DLL结构,包括公寓、自由等各种线程模型)时,可以直接使用指针调度。因为他们共享同样的4G的逻辑内存地址。    而在不同的进程(如进程外服务器),各自拥有4G的逻辑内存地址,传递给不同进程的地址指针将指向错误的逻辑地址。    在使用COM技术时,不同的进程传递数据需要列集(可通过IMarshing接口,最好不要自己处理列集过程,这可能使人崩溃),可以通过调用操作系统实现本地远程调用(LPC),如果用C++,还要使用恐怖的IDL编写代理Proxy和残根DLL。    而Delphi则比较享福,可以使用类型库编辑器直接编写接口,添加 IPicture* 的参数并使用即可,调度、列集过程由编译器和(内部接口的实现代码)搞定。所自动生成的IDL?我认为只是为了和C++这个、哪个而留下的。