Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Visual Basic
Expertise: Beginner
Oct 1, 1996

Getting Entries from INI Files

Question:
I want to read the MSMAIL.INI file to get information for my program when it starts, and write information there when the program is terminated. I am looking at GetPrivateProfileString() and WritePrivateProfileString(). So far I can get the WritePrivateProfileString() to work, it writes the information I want into the Section and Key that I want to use. The problem is with the GetPrivateProfileString(); it is causing the program to crash. It is looking for a character string to fill with the desired information. How do I pass it a Visual Basic character string that it can us without causing a GPF, or should I be considering something else?

Answer:
There is an error in the declarations file. Several of the INI functions are missing ByVal prefixes before several of the parameters of the declaration. Take a look at the declaration, and add a ByVal in front of any parameters that are missing. Here are the declarations and the calls:

Declare Function GetPrivateProfileString Lib "Kernel" (ByVal lpApplicationName As 
   String, lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As 
   String, ByVal nSize As Integer, ByVal lpFileName As String) As Integer

   iReturn = GetPrivateProfileString(ByVal isSection, ByVal isEntry, "No Value Read", 
       sReturn, Len(sReturn), ByVal isFilename)

Declare Function WritePrivateProfileString Lib "Kernel" (ByVal lpApplicationName As 
String, lpKeyName As Any, lpString As Any, ByVal lplFileName As String) As Integer

   iRet = WritePrivateProfileString(ByVal isSection, ByVal isEntry, 
      ByVal isValue, ByVal isFilename)
DevX Pro
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date