2014-12-08 3 views
1

연결 문자열을 읽는 .ini 파일 설정이 있습니다. 나는 버튼의 클릭에 문자열을 표시하려고 지금.INI 파일에서 연결 문자열 읽기

Option Explicit 

Private Declare Function GetPrivateProfileString Lib "kernel32" _ 
    Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any _ 
    , ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long _ 
    , ByVal lpFileName As String) As Long 


Public Const iniPath = "\DBSettings.INI" 


Public Sub Main() 
Dim dbPath As String 
Dim dbPath As String 
dbPath = GetSetting("DataBase", "DBPath") 
dbPath= GetSetting("DataBase", "DBPath") 
Form1.Show 

End Sub 


Private Function GetSetting(ByVal pHeading As String, ByVal pKey As String) As String 
Const cparmLen = 100 
Dim sReturn As String * cparmLen 
Dim sDefault As String * cparmLen 
Dim aLength As Long 
aLength = GetPrivateProfileString(pHeading, pKey _ 
      , sDefault, sReturn, cparmLen, App.Path & iniPath) 
GetSetting = Mid(sReturn, 1, aLength) 
End Function 

: 나는 문자열을 읽을 수있는 modeule이 그러나

Option Explicit 

Public Sub Command1_Click() 

MsgBox (dbPath) 
MsgBox (dbPath) 

End Sub 

, 양식이있는 변수를 볼 수없는 것 기준 치수. 이 문제를 어떻게 해결할 수 있습니까? 도움이 될 것입니다.

답변

3

sub에 선언되어 있으므로 범위 지정 규칙에 변수가 해당 하위 내에 만 존재한다고 나와 있습니다.

변수 보이는 사방 public 액세스 한정자와 모듈에 선언 만들려면 :

public dbPath as string

과 같이 dim

+0

감사 : 변수 범위에 대한 자세한 정보를 들어

. 또한 위와 같이 모듈의 메인에 선언 된 경우 어떻게 모듈에서 연결 문자열 값에 액세스 할 수 있습니까? – Navron

1

main()에서 DBPATH가 절차 범위 변수 제거 프로 시저 (Sub Main()) 내에서 선언됩니다. 다른 모듈이나 모듈 자체에서는 보이지 않습니다. 또한 프로 시저 (Sub 또는 Function) 내에 Public 변수를 선언 할 수 없습니다. 일 http://msdn.microsoft.com/en-us/library/1t0wsc67.aspx