|
Presumably on the first run none of the file was in cache. However, on the second run, the file was now cached, so reading the file was much faster as the data was already in memory, it didn't need to be read from disk.
When implementing file I/O, you should try to keep locality of reference: process a whole 'page' (4KB) at a time, rather than skipping all over the file. Every time you 'hit' a new page Windows has to read it from the disk into the cache. Windows does try to predict how you're going to use the file in future based on your previous accesses, and it does read ahead, but the fact remains that disks are slow - you should use files carefully. If you do need to jump all over a data structure you could consider reading the whole file sequentially into memory, but if it's a big file you could end up just swapping it straight out to disk again, if you don't have enough physical memory for the whole file.
If you were simply reading the file from beginning to end, some other process was probably using the disk heavily at the same time.
Stability. What an interesting concept. -- Chris Maunder
|
|
|
|
|
Hi all,
I was wondering and have been looking for the following.
I created several executables in .NET which all have an assembly GUID in the assemblyinfo. From within one executable I want to start the other executables. I'm now using the path to start the executable, but I was wondering if it is possible to start an executable using it's GUID or finding the application path of the executable in the registry.
I don't think it's possible, because the GUID of an executable is not registered in the registry. But maybe someone else ever did it?
Don't ask why I want to do it like this and not using the path. I would just be cool using de GUID
Let me know if you have an idea.
Thanks,
Niels
|
|
|
|
|
not sure, but dont they use GUID as identifier for COM libraries (registry entries) - for non-COM assemblies, there's no registry entry in registry to search for. Your client would need to search the harddrive for an assembly with the right GUID? That doesn't make any sense.
Norman Fung
|
|
|
|
|
The idea I had behind it, is that at installation the executables GUID is registered in de registry and I would be able to find the path of the executable under the GUID (located in HKEY_CLASSES_ROOT\CLSID). So then I would always have a registered path to the files in de registry. But with the .NET deployment there no possibility to register a non-COM assembly.
Maybe I'm just shooting in space here?
|
|
|
|
|
I created a winform with some different panels,only one panel is visible at a time, I used the following code to implement it:
1. dont't add any panel into current form
2. void SwitchPanel(Panel panel)
{
//lastPanel recored current visible panel
this.Controls.Remove(lastPanel);
this.Controls.Add(panel);
lastPanel = panel;
}
when I switch between different panels, I just call SwitchPanel, it works well. However, if there are 2 panels panel1 & panel2, panel1 is the initial visible panel, panel2 has a button to display a modal dialog, when I switch to panel2 from panel1, and press the button, show the dialog, when the dialog closed, I got a "System.Runtime.InteropServices.SEHException: External component has thrown an exception: at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG& msg).". Please help me on how to solve it, or to implement the switching model in another way.
Thanks a lot in advance!
Vinsent
------------------------------------
Make thing simple, but no simpler.
|
|
|
|
|
Are you using Application.EnableVisualStyles in your application?
We have a framework that uses TabbedMDIforms that threw the same exception in certain situations similar to your panel issues.
The solution for us was to ensure that Application.EnableVisualStyles was followed Immediatly by Application.DoEvents then the main form is constructed afterwards. If those lines appeared in any other order the Exceptions occured later on when switching the active Form.
If you have knowledge, let others light their candles at it.
Margaret Fuller (1810 - 1850)
|
|
|
|
|
Thanks a lot for your help
I had spent a whole dull afternoon to solve it, and finally found the one statement fault, and I enabled visual style in another way by adding manifest xml.
Hopefully there comes a patch immediately
Vinsent
----------------------
Make things simple, but no simpler
|
|
|
|
|
Unfortunatly it doesn't look good for a patch. However I believe it is fixed in .Net 2.0, though I have yet to test it fully.
If you have knowledge, let others light their candles at it.
Margaret Fuller (1810 - 1850)
|
|
|
|
|
Hello!
I got this error:
'0' is not a valid vaue for "value" . 'value' should be between 'minimum' and 'maximum'
when I try to minimize a form with a datagrid on it.
This is the code I have on my Resize function for my form:
dataGrid->TableStyles->Clear();
ctrlWidth = dataGrid->get_Width();
DataGridColumnStyle * colStyle1 = new DataGridTextBoxColumn();
colStyle1->MappingName = S"Internal Address";
colStyle1->HeaderText = S"Internal Address";
colStyle1->Width = ctrlWidth/2-2;
DataGridColumnStyle * colStyle2 = new DataGridTextBoxColumn();
colStyle2->MappingName = S"External Address";
colStyle2->HeaderText = S"External Address";
colStyle2->Width = ctrlWidth/2-2;
DataGridTableStyle * ts = new DataGridTableStyle();
ts->GridColumnStyles->Add(colStyle1);
ts->GridColumnStyles->Add(colStyle2);
ts->RowHeadersVisible = false;
this->dataGrid->TableStyles->Add(ts);
I could really use some help! thanks
|
|
|
|
|
hello,am a new user to C# sharp. when i use a datetimepicker ( format set to short), along with some more controls in a form, the first time i executed the project, Iam able to get the focus in the Datetimepicker control(by pressing tab).
But if u select a new value in the control and use tab again am not getting the focus in datetime control. IS THIS A PATCH IN DATETIME CONTROL?
But when u click on it , the mousedown event makes the selection. so, iam thinking of invoking the mousedown evnet in the Enter Event(when the control is active by pressing tab). But not sure how to do it. or is there any other way of achiveing this?
Please help me at the earliest. Much Thanks.
Regards,Manivannan.P
|
|
|
|
|
I've a quick question. I'm playing around with the ListView and am having trouble setting the BackgroundImage Property. Actually I can set the property without any trouble however the image is never displayed. I've successfully set this property (and seen the image) on a number of other controls but when it comes to the ListView this seems to be broken. Any ideas / has anyone else run into this? I'm very new to Windows.Forms so please excuse my ignorance if this problem is simply a result of this. (I've found a few message boards with people looking for help with this similar problem in the ListView control but no fixes yet)
Thanks in advance
-flip
|
|
|
|
|
hello,am a new user to C# sharp. when i use a datetimepicker ( format set to short), along with some more controls in a form, the first time i executed the project, Iam able to get the focus in the Datetimepicker control(by pressing tab).
But if u select a new value in the control and use tab again am not getting the focus in datetime control. IS THIS A PATCH IN DATETIME CONTROL?
But when u click on it , the mousedown event makes the selection. so, iam thinking of invoking the mousedown evnet in the Enter Event(when the control is active by pressing tab). But not sure how to do it. or is there any other way of achiveing this?
Please help me at the earliest. Much Thanks.
Regards,Manivannan.P
|
|
|
|
|
|
Is there something in particular you are having a problem with? Getting the menu to popup? Or getting the data for the menu out of a database or xml file? Or just the overall design? People will help with your problems, but too many times people are asking for others to show them how to do everything. I have seen this when I taught college. I would offer help, but you need to know how to do it. I would not just tell them everything, or how would they have learned it?
There are examples on CP and other websites. Some systems are free and others are shareware and others are commercial products.
Steve Maier, MCSD MCAD
|
|
|
|
|
Using a datagrid , I change the data source of the datagrid in run time when a button is clicked according to a search , if this datagrid is divided into pages, when I click the next page the datagrid is disappeared and u must click this button again to make it appear and it really appears in the next page
Eng.Nashwa
|
|
|
|
|
I am working on an application and need to be able to have the application have the ability to "look into" an assembly and list out the icons which are compiled into it. Any points into the right direction would be greatly appreciated.
Happy Programming and may God bless!
"Your coding practices might be buggy, but your code is always right."
Internet::WWW::CodeProject::bneacetp
N-Tech Productions
http://www.n-tp.com/
|
|
|
|
|
All embedded icons will turn up as resources in the assembly with the .ico extension.
The only tricky bit is that VS.Net adds the DefaultNamespace to the front of the icon file name when it compiles the assembly so you have to chop that off.
Here is an example showing how you would do this using the current assembly, and display the list in a messagebox.
To run on another assembly simply use Assembly.LoadFrom() to get a pointer to it.
Dim TestAssembly As [Assembly] = System.Reflection.Assembly.GetExecutingAssembly
Dim namesList As String() = TestAssembly.GetManifestResourceNames
' Fudge to get the default Namespace for the assembly.
Dim currentNameSpace As String = [String].Empty
currentNameSpace = TestAssembly.GetTypes(0).Namespace
If currentNameSpace.Length > 0 Then
currentNameSpace &= "."
End If
Dim list As String = [String].Empty
Dim names As IEnumerator = namesList.GetEnumerator
While names.MoveNext
If names.Current.ToString().ToLower().EndsWith(".ico") Then
list &= names.Current.ToString().Replace(currentNameSpace, "") & System.Environment.NewLine
End If
End While
MessageBox.Show(list)
If you have knowledge, let others light their candles at it.
Margaret Fuller (1810 - 1850)
|
|
|
|
|
Thanks for the help!
Happy Programming and may God bless!
"Your coding practices might be buggy, but your code is always right."
Internet::WWW::CodeProject::bneacetp
N-Tech Productions
http://www.n-tp.com/
|
|
|
|
|
I have a program that I need to figure out what is going on. First, the code:
Class ListItemServer ---
Imports System.Data
Imports system.Data.SqlClient
Public Class ListItemServer
Inherits MarshalByRefObject
Implements ILists
Private mSQL As SqlConnection
Private mDA As SqlDataAdapter
Public Sub New()
mSQL = New SqlConnection(Config.GetConnectionString)
mDA = New SqlDataAdapter
End Sub
#Region " Affiliation Types "
Public Function GetAffiliations() As System.Data.DataSet &_
Implements ILists.GetAffiliations
Dim SelectCommand As New &_
SqlClient.SqlCommand("tff_GetAffiliations", mSQL)
mDA.SelectCommand = SelectCommand
mDA.SelectCommand.CommandType = CommandType.StoredProcedure
Dim Data As New DataSet("AffiliationTypes")
mDA.Fill(Data)
Return Data
End Function
Public Function UpdateAffiliations(ByVal Data As System.Data.DataSet) As DataSet &_
Implements ILists.UpdateAffiliations
Dim SelectCommand As New &_
SqlClient.SqlCommand("tff_GetAffiliations", mSQL)
Dim InsertCommand As New &_
SqlClient.SqlCommand("tff_AddAffilation", mSQL)
Dim UpdateCommand As New &_
SqlClient.SqlCommand("tff_UpdateAffiliation", mSQL)
Dim DeleteCommand As New &_
SqlClient.SqlCommand("tff_DeleteAffiliation", mSQL)
SelectCommand.CommandType = CommandType.StoredProcedure
InsertCommand.CommandType = CommandType.StoredProcedure
UpdateCommand.CommandType = CommandType.StoredProcedure
DeleteCommand.CommandType = CommandType.StoredProcedure
With mDA
.SelectCommand = SelectCommand
.InsertCommand = InsertCommand
.UpdateCommand = UpdateCommand
.DeleteCommand = DeleteCommand
End With
With InsertCommand.Parameters
' Parameters
End With
With UpdateCommand.Parameters
.Add("@AffiliationTypeID", SqlDbType.Int, 4, "AffiliationTypeID")
' Parameters
End With
With DeleteCommand.Parameters
.Add("@AffiliationTypeID", SqlDbType.Int, 4, "AffiliationTypeID")
End With
Try
mDA.Update(Data)
Catch sqlex As SqlException
Console.WriteLine(sqlex.Message)
Catch ex As Exception
Console.WriteLine(ex.Message)
End Try
Return Data
End Function
#End Region
End Class
Interface ILists --------
Public Interface ILists
Function GetAffiliations() As DataSet
Function UpdateAffiliations(ByVal Data As DataSet) As DataSet
End Interface
I am able to register the service and get things going with remoting, but
when I attempt to access any method I get the error message "Attempted to
call a method declared on type ILists on an object which exposes
ListItemServer". The dataset is serializable, correct? I'm clueless, so any help would be greatly appreciated! I am registering the server as a singleton and attempting to call it like this:
Dim Server as ILists = Activator.GetObject(GetType(ILists),URI)
Dim Data as DataSet
Data = Server.GetAffiliations()
Thanks!
|
|
|
|
|
Is there a code snippet that covers the creation of a slider bar that replaces the standard slider on Windows Media Player.
I know that you can hide it using uiMode set to none, but I would like to create a control to replace it and using the system.windows.form
|
|
|
|
|
Hi,
How do you package an installer developed using .net ? example C# or any other .net PL. Does the VS.net have their own packager?
I just have to know
|
|
|
|
|
|
Thank you, what do you mean by relevant Setup and Deployment?
If ever I did so, then there would be a way to create an installer using VS.net? THanks again.
I just have to know
|
|
|
|
|
aarontlu wrote:
what do you mean by relevant Setup and Deployment?
A Setup and Deployment Project
1. Right click your solution in the Solution Explorer
2. Select Add-->New Project...
3. In the new dialog, Select "Setup and Deployment Projects" from the Project Types tree on the left of the dialog.
4. Select the relevant Project Template from the icons on the right of the dialog.
aarontlu wrote:
If ever I did so, then there would be a way to create an installer using VS.net?
Do you mean create an application that performs the actions of an installer? If so then yes, it is possible. Although I don't see why - there are a number of products out there that you can create installers from already.
Do you want to know more?
WDevs.com - Member's Software Directories, Blogs, FTP, Mail and Forums
|
|
|
|
|
thank you very much. You have been much help
I just have to know
|
|
|
|