|
That's exactly what I am saying. You can troubleshoot by commenting out sections of your code and you can fix it by checking for null objects before executing some initialization that depends on an object that could be null.
|
|
|
|
|
hi my friend how are you ?
may be you create two forms
the main form (form1)of the custom control that inherits from the namespace windows.Forms.Form and another child form (form2)
and then may be you try to initialize the constructor of the main form inside the child form if that the case it will give you an error object not set of an instance of object so you have to make the child form recognize the main form like that
Go to your form2 load event and do the following
<br />
form1 mainform = new form1();<br />
private void form2_load(object sender , eventargs e)<br />
{<br />
mainform = this;<br />
mainform.show();<br />
}<br />
If this is the case of your problem try to figure it out and then reply me
Miss With The Best And Die Like The Rest
|
|
|
|
|
That's actually not what I'm doing. I only have one form and it is inheriting windows.Forms.Form.
Am I required to initialize the base class or something like that? Something like Base.InitializeComponent or something?
Also, am I required to initialize all of my data in my default constructor? I know that it is good programming practice to do so, I'm just wondering if it's a requirement and that I've missed something.
Thanks for your help!
|
|
|
|
|
I have an application that processes large chunk of string data
As the data is processed it passes through various functions that perform specific tasks on the data.
I need this application to work as quickly as possible, using as little memory as possible.
As an example I have these functions :
private string MasterProcess(string data)
{
data = ProcessStage1(data);
data = ProcessStage2(data);
return data
}
private string ProcessStage1(string data)
{
return data
}
private string ProcessStage2(string data)
{
return data
}
if I understand .NET GC correctly, items are collected once they drop out of scope. Following those function examples above, if 5mb of string data came into the MasterProcess when it calls ProcessStage1 the machine now has to hold 10mb.
if I changed the functions to use ref parameters instead, would this prevent this from occuring?
Did that make sense?
Whist on the subject of performance:
Is using static functions a performance hit over using instantiated classes?
post.mode = postmodes.signature;
SELECT everything FROM everywhere WHERE something = something_else;
> 1 Row Returned
> 42
|
|
|
|
|
Items are not collected when they drop out of scope, they are collected when there are no more references to them. When you put a new reference in the data variable, the reference to the original string is replaced. If there are no references to the string elsewhere in the code (e.g. in the code calling the method), it will ge collected.
As strings are immutable, using a ref parameter wouldn't make a difference. If you change a string, it really isn't changed, but replaced by a new string, and the previous string is discarded.
myString += "42";
really works like:
string temp = String.Concat(myString, "42");<br />
myString = null;<br />
myString = temp;
The difference in performance between static and non-static method calls is negligable, if there is a difference at all. Use static methods whenever the method doesn't need any data from the object.
---
b { font-weight: normal; }
|
|
|
|
|
If this thing is really huge, you may want to use a StringBuilder , so that you are modifying one object, instead of creating many new and different copies of the original.
Matt Gerrans
|
|
|
|
|
hi,
http://www.gerii.com/Datagrid.JPG[^]
how can i make that the colum: Name have the half width of datagrid and column: Number has also the half width of datagrid? so that there is no space between the column: Number and the right fringe....
i think i have to do that at runtime...
bye
|
|
|
|
|
You can set the PreferredColumnWidth as follows:
<br />
myGrid.PreferredColumnWidth = (myGrid.ClientSize.Width- myGrid.RowHeaderWidth-4)/2;
However, if you have if you have a vertical scrollbar then you need to subtract about 21 pixels.
|
|
|
|
|
is there an easy/fast way of getting the md5 hash of an item? if so, how?
|
|
|
|
|
found this... exactly what i wanted (i needed to compare stuff with php)
http://www.codeproject.com/dotnet/MD5FunctionPHP.asp
|
|
|
|
|
When I am debugging in VC++, whith F11 key, I can enter into the original source code of de control (for example viewcore.cpp,wingdi.cpp,dbcore.cpp,etc... ). My probles is when i am debugging in VC#, the F11 key don't enter in the original source code, is a problem of configuration?, I need install any package?.
The F11 key is very useful when I don't know how do any thing or when any thing don't work like must do.
Oscar (from Barcelona, Spain)
|
|
|
|
|
In c#, you don't have copies of the source code, just the compiled (IL) assemblies.
Absolute faith corrupts as absolutely as absolute power
Eric Hoffer
All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke
|
|
|
|
|
I've not been thinking so much about security earlier becouse I've not made any serious applications. But in my new project security is more important. I have some questions about this and hope you can help me.
1. In some input textbokses I've put input validators. But those validators work whatever button is pushed in my application, not only the one that would submit the data. Is there a way to make the validator work on just one button?
2. Lets say I'm adding a new user to my db. I'll put the information written in the input textbox directly into the INSERT INTO SQL string. I've been told that this is a securyity leach since users might add SQL code into the SQL string. Is this an actual problem. If it is, how to solve it the best way?
Looking forward to any hints and help!
|
|
|
|
|
Anonymous wrote:
2. Lets say I'm adding a new user to my db. I'll put the information written in the input textbox directly into the INSERT INTO SQL string. I've been told that this is a securyity leach since users might add SQL code into the SQL string. Is this an actual problem. If it is, how to solve it the best way?
Yes it is a real problem. I do SQL Security presentations on the subject. It is always amazing to see the reaction on some people's faces when I do a live demo showing how a hacker could potentially get a complete listing of the contents of the hard drive that SQL Server sits on through a web application. And it is possible to do much much worse than that.
Anyway, here is a nice article to sort you out: SQL Injection Attacks and Tips on How to Prevent Them[^]
My: Blog | Photos
WDevs.com - Open Source Code Hosting, Blogs, FTP, Mail and More
|
|
|
|
|
Using text instead of a stored proc is a commercial no-no it will evntually gather insults.
Plain text is horrible for mayn reasons including maintenence nightmares.
In short its easier and more structured to put it into a stored proc and makes more sense.
Nick
I'm not an expert yet, but I play one at work. Yeah and here too.
|
|
|
|
|
Wow ! I expected the posibility of doing much harm, but not that much.
What if all inputstrings are checked? Not allowing them to contain any SQL code, and no symbols like ; and - . Would this be a way to do it?
|
|
|
|
|
That way you'll have to do manually what others have done for you already.
And you can't be sure you're doing it right.
If you don't want to use stored procedures, using parameterized queries is the way to go.
When you search for the term "parameterized queries" you should find enough articles to get you started.
Regards,
mav
|
|
|
|
|
|
Hopefully someone can help,
I have a listview box where I display my desired files. I single click on the desired file to be renamed and I rename it with a new name. My problem arises when the new name gets displayed through refreshing of my loop and display function. The problem is that when, if I rename the last file entry, everything appears to display fine. If I rename a file above the last entry (bottom entry), two of the new file names appear and the last file entry gets pushed out of the listview or disappears. After renaming, with in my folder where the files reside, the file names are exactly as they should be and the rename files are displaying the new names. The problem is just
within the displaying them.
Following is a sample of my code handler to rename file:
----------
private void lvIndivFileConversion_AfterLabelEdit(object sender,
System.Windows.Forms.LabelEditEventArgs e)
{
try
{
File.Move(Path.Combine(currentFolderPath, this.lvIndivFileConversion.FocusedItem.Text),
Path.Combine(currentFolderPath, e.Label.ToString()));
DisplayInfo(currentFolderPath); //To call folder cycle through & redisplay in LV
}
catch
{
}
}
----------
I am coding in C#. Any and all help or samples are appreciated
MikeY
|
|
|
|
|
Hi,
I have a problem ! I want to save/load an Arraylist (40 000 items (objects)) but i can't use BinaryFormatter because i'm using compact framework ...
What is the fast method ?
Thank's for your answers and sorry for my poor english (i'm french)
|
|
|
|
|
What type of objects are you storing? Classes? Structs?
|
|
|
|
|
this is a small struct (name, zip code and code) but i can use a class ... it doesn't matter
|
|
|
|
|
I am trying to read some data from Microsoft Excel 2002 with a C# windows Form. I have read that I must include a .COM in my references. Going through that process I believe that I have built up my code correctly to open a new workbook and see it on the screen. I have included the code below. When I build the code I get a message saying-
The type or namespace name 'Interop' does not exist in the class or namespace 'Microsoft.Office' (are you missing an assembly reference?)
Can anyone provide me with some guidance on this subject? Thanks
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using Microsoft.Office.Interop.Excel;
using System.Reflection;
using System.IO;
namespace faultmap_with_labels
{
///
/// Summary description for Form1.
///
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.Button button1;
///
/// Required designer variable.
///
private System.ComponentModel.Container components = null;
public Form1()
{
//
// Required for Windows Form Designer support
//
InitializeComponent();
//
// TODO: Add any constructor code after InitializeComponent call
//
}
///
/// Clean up any resources being used.
///
protected override void Dispose( bool disposing )
{
if( disposing )
{
if (components != null)
{
components.Dispose();
}
}
base.Dispose( disposing );
}
#region Windows Form Designer generated code
///
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
///
private void InitializeComponent()
{
this.button1 = new System.Windows.Forms.Button();
this.SuspendLayout();
//
// button1
//
this.button1.Location = new System.Drawing.Point(264, 80);
this.button1.Name = "button1";
this.button1.TabIndex = 0;
this.button1.Text = "button1";
this.button1.Click += new System.EventHandler(this.button1_Click);
//
// Form1
//
this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(816, 678);
this.Controls.Add(this.button1);
this.Name = "Form1";
this.Text = "Form1";
this.ResumeLayout(false);
}
#endregion
///
/// The main entry point for the application.
///
[STAThread]
static void Main(string[] args)
{
Application.Run(new Form1());
}
private void button1_Click(object sender, System.EventArgs e)
{
// Make an instance of Excel.
Microsoft.Office.Interop.Excel.ApplicationClass excel =
new Microsoft.Office.Interop.Excel.ApplicationClass();
// Show Excel on the desktop. (fast = running in the background)
excel.set_Visible( true );
}
}
}
|
|
|
|
|
As far as I know the namespace will just be Excel. I have similar code.
You can browse the generated interop assembly and look what's in there. That will give you a definitive answer.
Wout
|
|
|
|
|
Introps are wrapper classes. These helps your com component talking with your managed code. in visual studio when you create reference of excel it automatically generates introp files for you.
try removing and creating excel reference again, this might help you.
- ashish
|
|
|
|