我的程序加上VclSkin之后,关闭程序报地址错误。

yangjinhui 2009-06-11 03:29:37
我的程序加上VclSkin之后,关闭程序报地址错误。
...全文
给本帖投票
107 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangxiaoji 2011-10-06
  • 打赏
  • 举报
回复
请问十三楼,WinSkinForm.pas在那个地方,我怎么找都找不到。。。
flanks 2011-04-29
  • 打赏
  • 举报
回复
13楼的方法 可完美解决问题,亲测!
Eagle_ice 2009-08-19
  • 打赏
  • 举报
回复
你在FormClose的时候将SkinData.Active:=False;
ruanjian2110 2009-06-25
  • 打赏
  • 举报
回复
解决方法:将WinSkinForm.pas单元中,如下代码的第26行注释掉就OK了。
procedure TWinSkinForm.GetIcon(var bmp:Tbitmap);
var
SmallIcon: HIcon;
cx, cy,i: Integer;
sd:Tskindata;
begin
cx := GetSystemMetrics(SM_CXSMICON);
cy := GetSystemMetrics(SM_CYSMICON);
// bmp.Assign(nil);
// bmp.canvas.brush.color:=clFuchsia;
bmp.width:=cx;bmp.height:=cy;
bmp.PixelFormat := pf16bit;
bmp.Canvas.Brush.color:=clFuchsia;
bmp.canvas.fillrect(rect(0,0,cx,cy));
iconx:=cx;
// First try a small icon, then a big icon
DefIcon := SendMessage(hwnd, WM_GETICON, ICON_SMALL, 0);
if DefIcon = 0 then
DefIcon := SendMessage(hwnd, WM_GETICON, ICON_BIG, 0);

if DefIcon <> 0 then begin
SmallIcon := CopyImage(DefIcon, IMAGE_ICON, cx, cy, LR_COPYFROMRESOURCE);
DrawIconEx(bmp.Canvas.Handle, 0, 0, SmallIcon,
cx, cy, 0, 0, DI_MASK or DI_IMAGE );//DI_NORMAL);
DestroyIcon(SmallIcon);
//end else if not fsd.sysicon.empty then begin //otherwise no icon found
//cause DLL exception
//bmp.assign(fsd.sysicon) ;
//bmp.PixelFormat := pf24bit;
//copybmp(sd.SysIcon,bmp);
end else begin
for i:= 0 to skinmanager.dlist.count-1 do begin
sd:= Tskindata(skinmanager.dlist.items[i]);
if sd.skinformtype=sfMainform then begin
if not sd.sysicon.empty then
//copybmp(sd.SysIcon,bmp);
//bmp.assign(sd.sysicon) ;
end;
end;
end;
end;
yangjinhui 2009-06-17
  • 打赏
  • 举报
回复
我现在用了个控件SkinData1,有一段时间不报错的,过了一段时间又开始报错,不知道什么?请大家多多指教。
yct0605 2009-06-15
  • 打赏
  • 举报
回复
应该是vcl版本的问题吧,不要用高版本的,换一个低版本的试试看。
dinoalex 2009-06-15
  • 打赏
  • 举报
回复
动态加载,关时再停掉vclskin
仙侣步惊云 2009-06-14
  • 打赏
  • 举报
回复
支持使用皮肤,设计程序也应该与时俱进啊,谁愿意与灰头土脸的窗体按钮打交道啊?
楼主遇到的问题,可能是个别有问题的皮肤文件导致的,不过vclskin在win2003中确实有问题。
xinxinshou2009 2009-06-12
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 t8543 的回复:]
艾 為什麼么要使用皮膚呢,很多的都是不穩定的,程序只要功能好,介面佈局好,操作者是不會介意的,搞不懂!
[/Quote]


作为开发者自身,肯定是不愿意使用皮肤的,多花时间不说,还有稳定性的问题。但是作为使用者就不同了。你的作品,至少要得到客户的认可吧?客户可没那么多专业知识,他们很多时候会通过表面印象去选择商品的。就象你去买衣服,不光是穿着舒服、暖和,也要看品位,看做工,看款式
rainlovesea 2009-06-12
  • 打赏
  • 举报
回复
程序里放两个VCLSKIN也会报内错
t8543 2009-06-12
  • 打赏
  • 举报
回复
艾 為什麼么要使用皮膚呢,很多的都是不穩定的,程序只要功能好,介面佈局好,操作者是不會介意的,搞不懂!
7年 2009-06-12
  • 打赏
  • 举报
回复
这问题就得自己试才能解决。
xinxinshou2009 2009-06-12
  • 打赏
  • 举报
回复
试试不同的皮肤文件,如果都会出错,估计是VCLSKIN跟别的控件有兼容性问题,只能换别的用了。我从网上下载过VCLSKIN的皮肤包,有100个左右的皮肤文件,可是感觉都巨难看,而且感觉上还有一点点影响速度,所以这个控件基本被我放弃了
yangjinhui 2009-06-12
  • 打赏
  • 举报
回复
我用了两个不同的版本,都是这样的情况。VclSkin 5.03 和VclSkin d7
纯冰糖 2009-06-11
  • 打赏
  • 举报
回复
帮顶,很少用第三方的皮肤组件。
bdmh 2009-06-11
  • 打赏
  • 举报
回复
什么版本,有的版本有bug,我曾遇到过,打开opendialog,关闭就挂掉了

2,507

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧

手机看
关注公众号

关注公众号

客服 返回
顶部