几何尺寸与公差论坛

 找回密码
 注册
查看: 664|回复: 0

【转帖】strange function error

[复制链接]
发表于 2009-4-13 14:40:15 | 显示全部楼层 |阅读模式
strange function error
when i run this code in it's own module it runs perfectly but when i insert it into a previously developed module it says:
compile error:
type-declaration character does not match declared data type
[refering to my use of left$()]
==============
code:
declare function getusername lib "advapi32.dll" alias "getusernamea" (byval lpbuffer as string, nsize as long) as long
dim strstring as string
sub getuserid()
strstring = string(255, chr$(0))
getusername strstring, 255
strstring = lcase(left$(strstring, instr(1, strstring, chr$(0)) - 1))
msgbox strstring
end sub
cad monkey
sw2k7 sp5.0
sw2k8 sp3.0
edited: 08/14/2008 at 02:39 pm by dan eldred
ok well for some reason mid works but not left.
strstring = lcase(mid(strstring, 1, instr(1, strstring, chr$(0)) - 1))
cad monkey
sw2k7 sp5.0
sw2k8 sp3.0
this is how i capture the current logged in user, works everytime:
'***********************************************
option explicit
' get the user name function from windows
private declare function wnetgetuser lib "mpr.dll" alias "wnetgetusera" (byval lpname as string, byval username as string, lpnlength as long) as long
const noerror = 0
const lpnlength as integer = 255
dim status as integer
dim lpname, username as string
sub getusername()
' get user name
username = space$(lpnlength + 1)
status = wnetgetuser(lpname, username, lpnlength)
if status = noerror then
username = left$(username, instr(username, chr(0)) - 1)
'do something with data
msgbox "current user is: " & username
else
msgbox "unable to get the name."
end
end if
end sub
cadcam systems analyst
-solidworks office premium 2009 sp3.0
-solidworks simulation premium 2009 sp3.0
-solidworks flow simulation 2009 sp3.0
-2 cpu (fx-62), 2.0 gb of ram
-window xp pro sp2
-nvidia geforce 7950 gx2 (512mb) 6.14.11.6921
yes that does produce the same result
cad monkey
sw2k7 sp5.0
sw2k8 sp3.0
its because your other module will have a function called left already defined.
change your call to this:
strstring = lcase(vba.left$(strstring, instr(1, strstring, chr$(0)) - 1))
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|几何尺寸与公差论坛

GMT+8, 2024-12-22 22:05 , Processed in 0.034994 second(s), 19 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表