Click here to Skip to main content
15,917,628 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
i have two forms in my project (Mainform, SettingWindow)

i want to write data from one form to another (array)

Public Class MainForm 
Public Shared Tags(64) As String
end class

Public Class SettingsWindow
MainForm.Tags(1)= "xxx"
end class


i am getting the error message "Object reference not set to an instance of an object." on the line of MainForm.Tags(1)= "xxx"

it is working for string, integer ....even my control arrays. but for array of variables i am getting this error.
Posted
Updated 6-Sep-13 15:46pm
v3
Comments
[no name] 6-Sep-13 22:17pm    
It's because you have declared an array variable but the contents of the array still null because you have not done anything to the array to fill the elements.

This is the popular question about form collaboration. The most robust solution is implementation of an appropriate interface in form class and passing the interface reference instead of reference to a "whole instance" of a Form. Please see my past solution for more detail: How to copy all the items between listboxes in two forms[^].

Please also see other solutions in this discussion. If the application is simple enough, the solution could be as simple as declaring of some internal property in one form and passing a reference to the instance of one form to the instance of another form. For more complex projects, such violation of strictly encapsulated style and loose coupling could add up the the accidental complexity of the code and invite mistakes, so the well-encapsulated solution would be preferable.

Please see also:
http://en.wikipedia.org/wiki/Accidental_complexity[^],
http://en.wikipedia.org/wiki/Loose_coupling[^].

—SA
 
Share this answer
 
Comments
Abhinav S 6-Sep-13 23:12pm    
5.
Sergey Alexandrovich Kryukov 6-Sep-13 23:21pm    
Thank you, Abhinav.
—SA
[no name] 7-Sep-13 0:03am    
+5
Sergey Alexandrovich Kryukov 7-Sep-13 0:05am    
Thank you, Rakesh.
—SA
Thomas Daniels 8-Sep-13 13:29pm    
5ed!
If you must do it, you can do it via a public that exposes the array in a one form to the other.
 
Share this answer
 
for accessing any function or any variable from one from to another u have to use the module because module is the only way by which we can access the things anywhere in any form once it is declared in module
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900