アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下の様に
共通変数クラスSystemStartDEC
を作成し、変数セットまではできてますが
Login_Loadでは変数がクリアされています。
なぜでしょうか?

public Login()
{
InitializeComponent();
Login_Load();

this.BtnCancel.Click += new System.EventHandler(this.BtnCancel_Click);
this.BtnLogin.Click += new System.EventHandler(this.BtnLogin_Click);

}
private void Login_Load()
{
string[] strParam;

//iniファイル読込
if (InspecTool004_02.GetIni(this.lVerComVal) == false)
{
clsEnc.DeleteFile(strSettingIniName);
MessageBox.Show("INIファイルの読み込みに失敗しました。" + "/r/n" + "終了します。");
return;
}


}



public class InspecTool004_02
{



class IniFileHandler
{
[DllImport("KERNEL32.DLL")]
public static extern uint
GetPrivateProfileString(string lpAppName,
string lpKeyName, string lpDefault,
StringBuilder lpReturnedString, int nSize,
string lpFileName);

[DllImport("KERNEL32.DLL",
EntryPoint="GetPrivateProfileStringA")]
public static extern uint
GetPrivateProfileStringByByteArray(string lpAppName,
string lpKeyName, string lpDefault,
byte [] lpReturnedString, uint nSize,
string lpFileName);

[DllImport("KERNEL32.DLL")]
public static extern uint
GetPrivateProfileInt( string lpAppName,
string lpKeyName, int nDefault, string lpFileName );

[DllImport("KERNEL32.DLL")]
public static extern uint WritePrivateProfileString(
string lpAppName,
string lpKeyName,
string lpString,
string lpFileName);


[DllImport("winmm.dll")]
public static extern uint timeGetTime();

}

//INIファイル読み込み
public static Boolean GetIni(SystemStartDEC.strCom lVerComVal )
{

StringBuilder sb_1 = new StringBuilder(1024);
string strIniName ;
string strBuffer ;
Boolean bRtn ;


strIniName = ".\\" + SystemStartDEC.strCom.SettingIniName;
//DB Section
IniFileHandler.GetPrivateProfileString("DB", "ConStr", "default", sb_1, sb_1.Capacity, strIniName);
if( sb_1.ToString() == "default" )
{
MessageBox.Show("SettingINIファイルDBセクションのConStrが読めません。");
return false;
}
lVerComVal.IniParam.DBStr = sb_1.ToString();



}

public class SystemStartDEC
{

////// <summary>
////// 全体共通
////// </summary>
////// <remarks></remarks>
public struct strCom
{
public strIniParam IniParam;
public strUserInfo UserInfo ;
public strDispInfo DispInfo ;
public strMailInfo MailInfo ;
}
}

A 回答 (1件)

>共通変数クラスSystemStartDEC


>を作成し、変数セットまではできてますが

インスタンスはどこで生成しているのでしょうか?

>Login_Loadでは変数がクリアされています。

「クリアされています。」とは、具体的にどの場所でどのようになっているのですか?
# GetIni()内で設定しているのにコール元に戻ったら設定した値が無視されているよ~。
# ってコトであれば、おそらく正常動作ですが。
# refもoutもありませんし。
# http://msdn.microsoft.com/ja-jp/library/szasx730 …
    • good
    • 0
この回答へのお礼

ご指摘通り
refを指定すると 思った通りに動きました
有難うございました。

お礼日時:2014/06/26 15:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!