Witam.
Piszę sobie program z wykorzystaniem Allegro WebAPI (ale to akurat chyba nie jest istotne).
Kawałek kodu - procedury obsługi naciśnięcia przycisku:
//blablabla, nieistotne.....
service = new AllegroWebApiService();
try
{
sessionHandle = service.doLogin(/*parametry*/);
aukcje = service.doMyAccount2(/*parametry*/);
}
catch
{
return;
}
Program się wykonuje, i działa tak jak trzeba. Problem polega na tym, że wywołanie metod doLogin i doMyAccount2 trwa dosyć długo (w porywach 5-10 sekund), a w tym czasie program nie odpowiada. Chciałem więc jakoś "uspokoić" użytkownika, i wyświetlać w tym czasie jakieś uspokajające komunikaty. Stworzyłem ListBox - "logLBx". Kawałek poprawionego kodu:
try
{
logLBx.Items.Add("Logowanie... ");
sessionHandle = service.doLogin(/*parametry*/);
logLBx.Items.Add("\t\tOK");
}
catch
{
logLBx.Items.Add("BŁĄD!");
return;
}
logLBx.Items.Add( "Pobieranie aukcji... ");
try
{
aukcje = service.doMyAccount2(/*parametry*/);
logLBx.Items.Add("\t\tOK");
}
catch
{
logLBx.Items.Add("Błąd!");
return;
}
Według mojego oczekiwania - powinno to teraz wyglądać:
- Klikamy przycisk
- Widzimy napis "Logowanie..."
- Czekamy...
- Widzimy napisy "OK", "Pobieranie aukcji"
- Czekamy...
- Widzimy napis "OK".
Tymczasem odbywa się to tak:
- Klikamy przycisk
- Czekamy
- Czekamy
- Widzimy napisy: "Logowanie" "OK" "Pobieranie aukcji" "OK".
Co oczywiście kompletnie mija się z celem.
PYTANIE 1:
Przypuszczam, że te komunikaty są gdzieś buforowane (?), i dlatego wyświetlają się wszystkie na raz. Co zrobić, aby wyświetlały się wtedy, gdy to jest wyznaczone w kodzie?
PYTANIE 2:
W jaki sposób w C#, pisząc aplikację okienkową mogę odebrać parametry przekazane do aplikacji za pośrednictwem linii komend?