VB出现相同属性的属性过程定义不一致,或属性过程包含可选参数,或

来源:百度知道 编辑:UC知道 时间:2024/05/25 00:53:04
第一次编程序,结果发现设置用户控件属性时,设置控件的各线段之间的关系时出现了:相同属性的属性过程定义不一致,或属性过程包含可选参数,或无效的设置最后参数程序如下:
Public Property Let Line5(E2X1, E2Y1, D2X2, D2Y2)

Dim D2X2 As Integer, D2Y2 As Integer, E2X1 As Integer, E2Y1 As Integer

f = Sqr((E2X1 - D2X2) * (E2X1 - D2X2) + (E2Y1 - D2Y2) * (E2Y1 - D2Y2)) '设置line5的长
f = Sqr((B2X1 - D1X2) * (B2X1 - D1X2) + (B2Y1 - D1Y2) * (B2Y1 - D1Y2)) / 2
End Property
试过了还是不行,(E2X1, E2Y1)( D2X2, D2Y2)分别是line5的起、终点坐标

E2X1, E2Y1, D2X2, D2Y2 是自定义过程的参数.应该在定义过程的时候定义,而不改在过程里面定义.
应该是:
Public Property Let Line5(D2X2 As Integer, D2Y2 As Integer, E2X1 As Integer, E2Y1 As Integer )
f = Sqr((E2X1 - D2X2) * (E2X1 - D2X2) + (E2Y1 - D2Y2) * (E2Y1 - D2Y2)) '设置line5的长
f = Sqr((B2X1 - D1X2) * (B2X1 - D1X2) + (B2Y1 - D1Y2) * (B2Y1 - D1Y2)) / 2
End Property

我只能说这个定义没错了,不会有错误提示(我测试过了),具体算法错误我没看.

算法的话,你的f赋值了两次,第二次把第一次覆盖...这里估计有问题,不知道你这个程序要做什么,最好说说程序的功能,这样才能帮你看看算法错误.