gpt4 book ai didi

vb6 - 我应该如何使多个项目之间的常量可见?

转载 作者:行者123 更新时间:2023-12-04 05:38:20 26 4
gpt4 key购买 nike

我有一个项目为其他项目提供服务,提供此服务的方法的返回值是 String。在该项目中,我使用一些命名常量来表示特殊的带外值,这些值代替预期的或可恢复的错误而返回,否则服务将返回一个 XML 字符串。

类似于以下内容:

' modService.bas
const SERVICE_BADARG as String = "Unsupported argument."
const SERVICE_TOOMANY as String = "Too many Foos."

' cServiceProvider.cls
Private Function GetXMLString() as String
' generate and return XML string holding all sorts of generic stuff
End Function

Public Function PerformService(argument as String) as String
' do some stuff
If (some_condition = true) Then
PerformService = SERVICE_BADARG
Else If (some_other_condition = true) Then
PerformService = SERVICE_TOOMANY
Else
PerformService = GetXMLString()

我希望能够从其他项目中获得这些常量,而无需对它们进行冗余定义。如果可能,我还想避免将它们放在类中(它们将在不必要的地方重复)并避免为每个类创建一个属性。

它们都是常数,它们都不会改变。

最佳答案

不幸的是,VB 没有为您提供将常量嵌入到 DLL 中以供编译时使用的机制。您将不得不返回属性,正如您所说的那样,您不想这样做。

我肯定会使用 BAS 路线,除非有理由反对。另一种方法是创建一个类型库,并在其中定义字符串常量。为此,您必须学习 ODL,并使用 VB6 附带的 MkTypeLib.exe 程序。或者,如果您以某种方式可以访问 Matt Curland 的“Advanced Visual Basic 6.0”,那么有一个工具可以让您创建类型库。

关于vb6 - 我应该如何使多个项目之间的常量可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11622089/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com