Witam, mam problem z formami...
Piszę program, który wymaga logowania do pewnego serwera poprzez aplikację, którą napisałem w PHP.
Po włączeniu programu wyświetlam Form o nazwie: LoginForm
Jeżeli logowanie przebiegnie pozytywnie - wyświetlam MessageBox z odpowiednią informacją, w przeciwnym wypadku w ten sam sposób pokazuję błąd.
Teraz po pomyślnym zalogowaniu i wyłączeniu komunikatu chcę wyłączyć LoginForm i odpalić ProgramForm - tutaj zaczynają się schody.
Za zarządzanie Form'ami odpowiedzialna jest klasa BOTManager, która wygląda tak:
class BOTManager
{
private LoginForm LoginForm;
private ProgramForm ProgramForm;
public BOTManager()
{
}
public void loginForm()
{
this.LoginForm = new LoginForm();
Application.Run(this.LoginForm);
}
public void programForm()
{
this.ProgramForm = new ProgramForm();
this.LoginForm.Close();
Application.Run(this.ProgramForm);
}
public void login(string user, string passwd, string world)
{
WebClient webClient = new WebClient();
byte[] reqHTML;
reqHTML = webClient.DownloadData(String.Format("http://83.143.99.79/login.php?user={0}&pass={1}&world={2}", user, passwd, world));
UTF8Encoding objUTF8 = new UTF8Encoding();
if (bool.Parse(objUTF8.GetString(reqHTML)))
{
MessageBox.Show("Zalogowano pomyślnie!");
Program.u = user;
Program.w = world;
this.programForm();
}
else
{
MessageBox.Show("Niepoprawne dane!");
}
}
}
Główna klasa programu wygląda następująco:
static class Program
{
static public string u, w;
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
BOTManager BOT = new BOTManager();
BOT.loginForm();
}
}
Jak widać tworzę obiekt BOTManager i odpalam LoginForm - działa.
Teraz problem jest przy funkcji/metodzie o nazwie programForm, która według mnie powinna utworzyć obiekt typu ProgramForm, odpalić go jednocześnie zamykając LoginForm'a.
I tutaj zaczyna się rzucanie wyjątkami.
Wskazuje linijkę: this.LoginForm.close();
I rzuca wyjątkiem:
Object reference not set to an instance of an object.
Może to pytanie laika, ale wcześniej miałem przez 5 lat styczność właściwie tylko z PHP a tam obiekty troszkę inaczej wyglądają.