Reference through nil pointer? 
	 
	
		| Author | 
		Message | 
	 
		 
		facultyofmusic
 
  
 
    
		 | 
		
		
			
				  Posted: Mon Dec 22, 2008 12:56 pm    Post subject: Reference through nil pointer?  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				I'm doing my ISP and i have this piano keyboard I have to make work.  This part of the program is for the black piano buttons:
 
	  | Turing: | 	 		  
import GUI
 var mainScreen  : int := Window.Open ("position:65;50,graphics:900;600")
var picID  : int
var blackKeyPlayButton  : string
%The Display Procedure
%BLACK KEY RESPONSES
proc playBlackResponse
     play (blackKeyPlayButton )
end playBlackResponse
 proc display
     %The black keys
    drawfillbox (127,  420,  157,  550,  7)
    picID  := Pic.New (127,  420,  152,  550)
    var black_key_button1  : int := GUI.CreatePictureButton (127,  420, picID, playBlackResponse )
    var black_key_button2  : int := GUI.CreatePictureButton (172,  420, picID, playBlackResponse )
    var black_key_button3  : int := GUI.CreatePictureButton (255,  420, picID, playBlackResponse )
    var black_key_button4  : int := GUI.CreatePictureButton (300,  420, picID, playBlackResponse )
    var black_key_button5  : int := GUI.CreatePictureButton (343,  420, picID, playBlackResponse )
    loop
        if GUI.GetEventWidgetID = black_key_button1  then
            blackKeyPlayButton  := "c+"
        elsif GUI.GetEventWidgetID = black_key_button2  then
            blackKeyPlayButton  := "d+"
        elsif GUI.GetEventWidgetID = black_key_button2  then
            blackKeyPlayButton  := "f+"
        elsif GUI.GetEventWidgetID = black_key_button2  then
            blackKeyPlayButton  := "g+"
        elsif GUI.GetEventWidgetID = black_key_button2  then
            blackKeyPlayButton  := "a+"
        end if
        exit when GUI.ProcessEvent
    end loop
end display
 
display
   | 	  
 
 
The problem is that when I run it, it Widget thingy pops up and shows me a error.  Which says "reference through nil pointer".  What does this mean?  What part of the program is wrong?  Thanks for your help
 
 
 
Mod Edit: Remember to use syntax tags! Thanks   	  | code: | 	 		  [syntax="turing"]Code Here[/syntax]  | 	 
  | 
			 
			
				 | 
			 
		  | 
	 
	 
		 | 
		
		 | 
	 
	  
		  | 
	 
		 
		Sponsor Sponsor 
		 
  
		 | 
		
 | 
	 
	 
		  | 
	 
				 
		octopi
 
  
 
    
		 | 
		
		
			
				  Posted: Mon Dec 22, 2008 3:01 pm    Post subject: Re: Reference through nil pointer?  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				If you try to access an object which hasn't been created yet, then you'll get this error. I'm not too familiar with Turing, and I can't find the error in your code, does the program point to a certain line as the cause of the problem?
 
 
Can you access a procedure without putting ()'s on the end of it?
 
playBlackResponse()
 
 
Also...
 
 
 
 
should be: shouldn't it?
 
 
 
Sorry I can't be more help, I really don't know Turing, perhaps another user can help you out more.
 
 
btw: those syntax tags are pretty touchy... | 
			 
			
				 | 
			 
		  | 
	 
	 
		 | 
		
		 | 
	 
	  
		  | 
	 
				 
		Clayton
 
  
 
    
		 | 
		
		
			
				  Posted: Mon Dec 22, 2008 3:36 pm    Post subject: RE:Reference through nil pointer?  | 
	
				
				 | 
			 
			 
				
  | 
			 
			
				| Think of it this way, if no event has happened yet, then how could GetEventWidgetID possibly have any sort of value? You need to include that in your action procedure from the button. | 
			 
			
				 | 
			 
		  | 
	 
	 
		 | 
		
		 | 
	 
	  
		  | 
	 
				 
		 | 
	 
 
	
	
	 
	
	 |