引用函数时碰到的奇怪有关问题

引用函数时碰到的奇怪问题
我先在模块中定义了个函数
Public   Function   method00(max_up   As   Integer,   carname2,   carname3   As   String)
..............
end   function
    在一个窗口中引用这个参数
        Dim   max2   As   Integer
        Dim   sma,   mid,   lar   As   String
        Call   calucatemethod00(max2,   mid,   lar)
        Text1.text   =   max2
        Text2.text   =   mid
        Text3.text   =   lar
这样运行后正常。
        但很奇怪的是我把lar换成sma时
即:Call   calucatemethod00(max2,   mid,   sma)
        Text1.text   =   max2
        Text2.text   =   mid
        Text3.text   =   sma
就报错显示:ByRef参数类型不符。
百思不得其解,这三个参数不是一摸一样的吗?   以前好像也碰到过这样的问题,当时没在意,改了改就过去了,不过再次碰到时就觉得肯定是我们哪里有问题了,请高手指正。

------解决方案--------------------
基础不牢啊
dim sma,mid,lar as string
=
dim sma as Variant
dim mid as Variant
dim lar as string


VB6 不是 C++ .............