konto usunięte

Temat: Head First C# Lab #1 - prośba o pomoc

Witam wszystkich.
Ostatnimi czasy zabrałem się za naukę C# z książki podanej w tytule i do pewnego momentu nauka szła gładko i bez problemu. Niestety Pierwsze laboratorium jest dość ciężki dla kogoś kto nie miał wcześniej styczności z programowaniem obiektowym (albo tylko ja mam z tym trudność :P). W każdym razie o to treść zadania: http://www.headfirstlabs.com/books/hfcsharp/lab01.php. Na samym początku chciałem zrobić żeby 1 piesek dobiegł do linii mety jednak natrafiłem już tutaj na problem z Random otóż przy próbie uruchomienia wyskakuje mi taki błąd: NullReferenceException

A tutaj cały projekt http://www.mediafire.com/?pcc2q0dte80zqcv

Z góry dziękuję za pomoc :)Marcin W. edytował(a) ten post dnia 03.05.11 o godzinie 14:27

konto usunięte

Temat: Head First C# Lab #1 - prośba o pomoc

przeżuć linijkę InitializeComponent(); w Form1.cs nad stworzeniem instancji klasy Dog, tak aby całość wyglądała tak:


public Form1()
{
InitializeComponent();

piesek = new Dog()
{
MyPictureBox = pictureBox2,
RaceTrackLength = pictureBox1.Width,
StartingPosition = 0,
MyRandom = randomizer
};

}

konto usunięte

Temat: Head First C# Lab #1 - prośba o pomoc

Wielkie dzięki :) A czy mógłbym prosić o wyjaśnienie czemu musi to być rozwiązane w tej kolejności ? Nie kojarzę żeby w książce było to opisane...
Tomasz M.

Tomasz M. never go full
retard!

Temat: Head First C# Lab #1 - prośba o pomoc

Marcin W.:
Wielkie dzięki :) A czy mógłbym prosić o wyjaśnienie czemu musi to być rozwiązane w tej kolejności ? Nie kojarzę żeby w książce było to opisane...

Bo InitializeComponent() prawdopodobnie tworzy Ci wszystkie obiekty związane z oknem ;]

konto usunięte

Temat: Head First C# Lab #1 - prośba o pomoc

Dokładnie tak jak napisał Tomasz, ten NullReferenceException nie wskazywał, że Random jest nullem tylko chodziło o te dwa PictureBoxy, one były jeszcze nullami. Dopiero w metodzie InitializeComponent() tworzone są ich instancje ( this.pictureBox2 = new System.Windows.Forms.PictureBox();)



Wyślij zaproszenie do