使用IPictureDisp时发生catastrophic failure |
答題得分者是:wameng
|
JustinShen
中階會員 ![]() ![]() ![]() 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
在同程式使用IPictureDisp可以传递Picture,程式如下:
var
ipd: IPictureDisp;
begin
GetOlePicture(Image1.Picture,ipd);
SetOlePicture(Image2.Picture,ipd);
end;
测试前后结果没有发现尺寸变化等问题。 在COM中使用IPictureDisp传递Picture属性,却发生灾难性故障:
server端定义IImageIntf,属性为Image:IPictureDisp
Client端Import component后,建立组件TImageIntf
客户端代码为:
SetOlePicture(Image1.Picture,ImageIntf1.Image);
执行发生灾难性故障;
调试中在server端未发现错误,但传到client就立刻发生故障 请教大家,这个原因是什么? Justin Shen 發表人 - JustinShen 於 2005/06/01 23:07:36 發表人 - JustinShen 於 2005/06/01 23:09:39
------
==================== 我为一切作努力! Justin Shen |
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
JustinShen
中階會員 ![]() ![]() ![]() 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
引言: 可參考 http://delphi.ktop.com.tw/topic.php?topic_id=58044 有點混亂。.... 記得幾年前有做過線上Casino,就是用這個。 程式碼不再身邊,我也忘了?先前的討論,將就一點看。 另外,你這樣寫。 看不出來有什麼問題? ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~wameng桑... 那个帖子我已经看过了,可是对于jpeg图片会出jpeg #42错误。 对于IPictureDisp的使用方法,我非常想了解,为什么delphi手册中提到了这个方法却几乎没有人用呢? 我的程式贴图
------
==================== 我为一切作努力! Justin Shen |
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
JustinShen
中階會員 ![]() ![]() ![]() 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
引言: 我試過完全可以。 不過是用 IPicture 給個Mail 我Send 給你。 我是用 Delphi 5 ~~~~~~~~~~~ 難得聰明,常常糊塗。 ~~~~~~~~~~~ 發表人 - wameng 於 2005/06/02 20:08:03非常感谢,我的email: LiuyunStudios@hotmail.com 使用IPicture可以的话就不必担心Jpeg格式问题了。 Justin Shen 發表人 - JustinShen 於 2005/06/02 21:13:56
------
==================== 我为一切作努力! Justin Shen |
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
JustinShen
中階會員 ![]() ![]() ![]() 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
|
JustinShen
中階會員 ![]() ![]() ![]() 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
|
wameng
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:31 回覆:1336 積分:1188 註冊:2004-09-16 發送簡訊給我 |
|
JustinShen
中階會員 ![]() ![]() ![]() 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
|
pcplayer99
尊榮會員 ![]() ![]() ![]() ![]() ![]() ![]() 發表:146 回覆:790 積分:632 註冊:2003-01-21 發送簡訊給我 |
|
JustinShen
中階會員 ![]() ![]() ![]() 發表:22 回覆:104 積分:80 註冊:2003-09-20 發送簡訊給我 |
引言: 我感觉,IPicture是传递的指针。Client端拿到后,立即把内容复制到自己的内存里,这样就算Server端释放,也可能没问题了。 也就是说,Client端在调用了Server的Interface function后,先把里面的Data复制到自己的一个VAR里,然后才把Server的Interface释放为nil. 我猜的。你试试。我记得曾经这么做过,不过结果仍然如故。我会继续研究的,如果成功的话我会将具体的实现贴上来。谢谢 Justin Shen
------
==================== 我为一切作努力! Justin Shen |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |