|
Dear, Sir
I forget use dispose() method after create a new instance in my app,
but I already sent my app to my customer.
The code below is some where I forget to use dispose() method.
private void button1_Click(object sender, System.EventArgs e)
{
Form2 frm = new Form2();
frm.Show.ShowDialog(this);
}
public void Connect()
{
if(idbConn != null)
idbConn.Close();
string sCnn = Report.SpecialFolder(ConnectionString_Long);
switch(_provider)
{
case EnumProviders.OLEDB:
idbConn = new OleDbConnection(sCnn);
break;
case EnumProviders.SQLClient:
idbConn = new SqlConnection(sCnn);
break;
case EnumProviders.OracleClient:
idbConn = new OracleConnection(sCnn);
break;
case EnumProviders.ODBC:
idbConn = new OdbcConnection(sCnn);
break;
}
idbConn.Open();
}
Plese tell me the risk
Thank You.
Sorry for bad English
|
|
|
|
|
The memory required for Form2 will continue to increase which each instantiation. Sounds like you need to release a patch. Fortunately, .NET facilitates versioning with .NET assemblies. You can release a new version of this assembly and either use the <assemblyBinding> configuration section in the app.config file, or use a publisher policy so that older assemblies can bind against the new version.
If you want to put these assemblies in the Global Assembly Cache, they must have a strong name. This means that they must use a version number (and you'd be wise to not use automatic versioning via the asterisk character because you can quickly loose control when you need to control version numbers) and be signed, either by specifying a filename in the AssemblyKeyFileAttribute or a container name in which the private key exists, named in AssemblyKeyNameAttribute .
For more information on assembly binding redirection, see Redirecting Assembly Versions[^] in the .NET Framework SDK on MSDN Online.
For more information on publisher policies, see Creating a Publisher Policy File[^] in the .NET Framework SDK on MSDN Online.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I'm currently in the middle of rewriting so software for work that deal with Rolm telephones. problem is, i never really messed with serial interfaces before and i am a little lost at how to ago about talking to the phones (basicly the phone tells the computer the phone number *like caller ID* and the computer tells the phone to log on and off or transfer calls).
any help would be really helpful.
Thanks again.
Joe
raged@ragedcom.com
|
|
|
|
|
There are several decent articles here on CodeProject about serial communications, including code samples and libraries. Just search for serial[^].
You can also use the MSComm control (Microsoft Communications control) as an interop assembly (right-click on your project, click Add Reference..., then find MSComm control or something like that and double-click it). There should be some articles on using this if you google for them.
As far as how to talk to the phone, you need to read the product documentation or visit the manufacturer's web site for that.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I'm trying out crystal reports in vs.net, with the wizard, and trying to use a stored procedure to populate the fields. I can select it as a table, but it's expand node does nothing when it comes to selecting the fields, and nothing is displayed at the end of the wizard, or when the app runs.
Does anyone have any ideas how to get the fields to be automatically extracted? The SP runs fine in query analyzer.
Thanks
|
|
|
|
|
Did you provide adequate credentials with which to log in to the database from the Crystal Reports designer?
Also, if you want any sort of portability of your code (i.e., not tied to a specific connection string), why don't you fill a DataSet from the stored proc and use that in the call to ReportDocument.SetDataSource ? The designer can bind nicely against DataSet s, and can even effectively make use of any relationships established in strongly-typed DataSet s (which make designing reports are them easier as well).
Something to consider...
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I was sa as the user on a local server. I saw the dataset option, but wasn't sure where or how to create the dataset (which is probably the answer). Do I create one inside the report and use that?
Thanks,
Chris
|
|
|
|
|
No, you create a typed DataSet in your project. Just right-click on your project (or subfolder) and clicked Add->Add New Item->DataSet. If you already have the tables you want added to your Solution Explorer (via a database connection), you can drag and drop the tables on the design surface. You can also set up relationships between table fields. You can easily fill that with a derivative of the DataAdapter class, then you instantiate your ReportDocument , call SetDataSource on it passing your typed DataSet , and display the report in whatever means you want.
And yes, if you're logging in as "sa" on the local db, you'll need to provide credentials since your using SQL (or whatever db) authentication as opposed to Windows integrated authentication (SSPI).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I got Object not set to an instance of object error. I have 1 Interface.dll, it contains interface classes for remote objects from RemoteObj.dll. I got problem when I use same namespace for interface and remote object classes. If I seperate them into 2 namespaces, will be fine.
Why? this is .NET restriction?
|
|
|
|
|
How can I retrieve ListViewSubItem's bounding rectangle?
ListViewItem has GetBounds, but I need bounds of specific subitem.
Thanks.
|
|
|
|
|
Adjust the rectangle based on the running sum of the column widths until that column. It's either that or going to the trouble of P/Invoking the SendMessage API and calling SendMessage with LVM_GETSUBITEMRECT . You'll also have to define the RECT structure. The System.Drawing.Rectangle is not an appropriate substitute. If you do it this way, you'll have little to no chance of being able to port your code to other platforms. The first way isn't hard and would work just fine.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I was already looking at the first method of doing it. I just thought that maybe there is some .net method somewhere that would give me that.
Thanks.
|
|
|
|
|
Anyone have code snipets or information on how to map a network drive in C# ?
|
|
|
|
|
Is there a particular reason why you need to map the network UNC to a drive letter? If not just stick with the UNC format. As far as I know all file manipulation works with UNC.
|
|
|
|
|
I'm with Tom on that. If you really need to (trying to substitute Windows with your application), you could always keep it simple:
Process.Start("net.exe", "use x: \\COMPUTERNAME\SHARENAME"); Otherwise, P/Invoke the NetUseAdd API from the Network Management APIs.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I'm trying to reconnect a mapped drive on user's machines. There are VPN issues with mappped drives being dropped.
P.S. I'm dealing with windows 98 machines....yuck
|
|
|
|
|
Hey
I have created a control with a ListView inside.
I have imported the control to a project in Visual C#,
I have also an own made balloon tooltip(PictureBox) in this form(project), this balloon tooltip will be visible only when the mose moves over the listView items in the control.
The Balloon tooltip will hover over an other part of the form(not in the controler), this is why i couldent have the Ballon ToolTip in the control.
No i have this problem
When i make a funktion(event) for mousemove(on the control in the project(form)) then it will just enter the funktion(event) when the mouse is going from one objet to another in the control, and not for every move(item).
I realy need it to throw this event every point the mouse is moving inside the control so i can fatch the info that the mouse is hovering above and display it in the Balloon tooltip outside the control.
it workt fine when i dident use a control, but then i just hade to use the MouseMove in the listview, now cant do that becourse the controler dont know of the ballontooltip and therby cant move or change it.
//Jimmy
PS Sorry for bad english
|
|
|
|
|
The List View common control - which the Windows Forms ListView encapsulates - handles most of this internally and some notification messages don't raise events as you might think (the MouseMove event is not overridden, and the List View common control handles this differently so the default behavior won't work).
Instead, you'll have to extend the ListView control, override WndProc , and handle the LVN_GETINFOTIP message (-157 on Windows (98/ME), -158 on Windows NT (NT/2000/XP/2003/and all future Windows OSes)). This is a WM_NOTIFY (message ID 78) notification message, so you'll actually get a pointer to an NMHDR struct in the LParam , which you can use Marshal.PtrToStructure to get.
For more information, see the documentation on the LVN_GETINFOTIP[^] notification message in the Platform SDK on MSDN Online.
You might also search CodeProject since there's many articles on customizing ListView , though I don't remember any dealing with tool tips off the top of my head.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I dont understand what you are saying.
Is ther no simple way to let my project know when the mouse is moving over the listview in my controler?
I cant just use the control event MousMove i realy need the contrler to tel my project what item the mous is hovering abouv in the control.
I dont see why i need to build my own ListView to do this?
if i dident use the control and just have the ListView right in my project, then it works fine. What i need is to pass event to the controller that tels my project that the mous is now hovering abouv post nr 3.
//Jimmy
|
|
|
|
|
If the ListView class doesn't raise the event, then it doesn't raise the event. You're not building your own anyway, you're extending the existing ListView class and handling the notification messages of the List View common control that the ListView class encapsulates. Welcome to the world of component development. The controls in System.Windows.Forms do not expose everything that their underlying Windows common controls are capable of. That's one reason that WndProc is left as virtual for the controls so that you can override it and provide additional functionality. Many developers override ListView to provide additional column sorting, background colors for sorted columns, icons in the column headers, and more. You just need to do this for the tooltip notification message (or rather the message sent to get information for the tooltip).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Thanks.. i will look in to it as soon as i can.
But say that an event(MousMove) is evoken at this listView in the control, cant i just throw a new event from this listview event to a control MousMove.
I whant the controls MousMove to be evkoen when then listViews int the control is Evekone
//Jimmy
|
|
|
|
|
One ot the strange things is
A normal MousMove will respond as sone you move the mouse. But when i use the MousMove on this control(compunent) it is only throwing the MousMove when it enters och leaving a control in the control, is this not strange? shold i not throw the MouseMove every litle move i make with the mouse in the control?
//Jimmy
|
|
|
|
|
The message you'd be handling is not the mouse move message. It's the LVN_GETINFOTIP . Take a guess as to what it does. This is closer to the point of your code than handling mouse movements.
If you want to handle the mouse movements in the List View - which do work a little differently inside the recessed client area - then the easiest way to invoke the event handlers is to simply call base.OnMouseMove from your notification message handler with an instance of a MouseEventArgs that you'd have to create and fill-in appropriately.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hey
Thanks for the answare
Do you know where i could find some explination or code ex on this mather?
The Online MSDN was not so explinable.
//JImmy
|
|
|
|
|
But are we realy talking about the same thing?
again: i have got the litview to work with my ownBalloon tip in a simple form, by using the listview event MousMove. in this case i got the listwiev and my own ballon tip(picture box) in same project(form).
Now i want to make a control of the listview, and then i cant have my own Balloon tip in the sam control. This balloontip will be visible in other parts of the form not near the listview, thats way.
when i copy the listView and the code to a control and then make the dll file and then inports it to my project there i got my own made Balloon tip. at this point i need somthing forwarding the listViews MouseMove to the controler, so i can fetch info for the ballon tip in the form.
I thought that i could just use the controlers(with the listview inside) MouseMove and on every Mouse move in this controler get the right item from the listview.
But the MouseMove on the control dont work as the listView MouseMove did.
The ListView MouseMove event was thrown every time the mouse moved with in the listview(thing its the case for every Windowsform control(buttons,picturebox and so on). But the controler is not working this way, its only throwing the MouseMove event when the mose is exiting or entering objects(Buttons,listView ans so on) from the right. Why is it not throwing the MouseMove event for every Mouse move over the controler the way the listView do?
The information that the mouse is hovering abouv is no problem to fetch, the problem is to get the controler to throw MouseMove event every time the mouse is moving abov the control.
I thougt that it would work if i did this:
Creat the funktion to MouseMove for thw listView in the controler.
The in this MouseMove throw a event to the controls MouseMove.
And then i hopt that i just could creat the controls MouseMove(in my project/form not in the control) and that this event would be thrown every time the mouse is moving over the listView in the control.
hope you got my problem better now?
//Jimmy
|
|
|
|