one question that happens in x86 but not in x64(pb5&4.61)
Posted: Thu Jan 31, 2013 5:36 am
I want to skin for window and found a question that happens in x86 but not in x64(pb5&4.61)
then Streamline the codes to below(error on line 48)
then Streamline the codes to below(error on line 48)
Code: Select all
Structure imgInfo
ImgFromRect.rect
ImgDrawRect.rect
DrawOrNot.l
EndStructure
Structure Buttons
ImgUrl.s
ImgID.l
ImgMouseOn.imgInfo
ImgMouseOut.imgInfo
ImgMouseDown.imageInfo
EndStructure
Structure skinInfo
GlobalSkinImageID.l
CloseButton.Buttons
MaxButton.Buttons
NomalButton.Buttons
MinButton.Buttons
EndStructure
Global skin.skinInfo
Procedure getRectFromStr(Str.s,*rc.rect)
If CountString(str,",")=3
*rc\left=Val(StringField(str,1,","))
*rc\top=Val(StringField(str,2,","))
*rc\right=Val(StringField(str,3,","))
*rc\bottom=Val(StringField(str,4,","))
EndIf
ProcedureReturn #True
EndProcedure
Procedure getImgInfoFromStr(Str.s,*ii.imgInfo)
If CountString(str,"#")=2
getRectFromStr(StringField(str,1,"#"),*ii\ImgFromRect)
getRectFromStr(StringField(str,2,"#"),*ii\ImgDrawRect)
*ii\DrawOrNot=Val(StringField(str,3,"#"))
EndIf
EndProcedure
Procedure getButtonsFromStr(str.s,*bs.Buttons,imgId.l=0)
If CountString(str,"|")=3
getImgInfoFromStr(StringField(str,1,"|"),*bs\ImgMouseOut)
getImgInfoFromStr(StringField(str,2,"|"),*bs\ImgMouseOn)
getImgInfoFromStr(StringField(str,3,"|"),*bs\ImgMouseDown)
temp.s=StringField(str,4,"|")
*bs\ImgUrl=temp
EndIf
EndProcedure
Procedure getSkinInfo(*sk.SkinInfo)
getButtonsFromStr("144,1,180,18#-38,1,37,17#1|144,19,180,36#-38,1,37,17#1|144,37,180,54#-38,1,37,17#1|",*sk\CloseButton,*sk\GlobalSkinImageID)
getButtonsFromStr("144,1,180,18#-38,1,37,17#1|144,19,180,36#-38,1,37,17#1|144,37,180,54#-38,1,37,17#1|",*sk\NomalButton,*sk\GlobalSkinImageID)
getButtonsFromStr("144,1,180,18#-38,1,37,17#1|144,19,180,36#-38,1,37,17#1|144,37,180,54#-38,1,37,17#1|",*sk\MaxButton,*sk\GlobalSkinImageID)
getButtonsFromStr("144,1,180,18#-38,1,37,17#1|144,19,180,36#-38,1,37,17#1|144,37,180,54#-38,1,37,17#1|",*sk\MinButton,*sk\GlobalSkinImageID)
EndProcedure
getSkinInfo(skin)