|
mattlove wrote: 1) would i have 100 occurrences of AddItem?
No, the instructions which constitute a given type's methods only exist in one place per AppDomain.
mattlove wrote: 2) is there a better approach than what i've outlined?
Maybe (the context is not defined well enough)
Josh
|
|
|
|
|
The method is not stored in the data of the struct. Not even a reference to the method. Not even if the method is virtual.
If the int is the only data in the struct, the total size of an instance of the struct will be exactly the same as the size of an int, e.g. four bytes.
---
b { font-weight: normal; }
|
|
|
|
|
Hey All,
Not quite sure where I should post this as I'm not really sure what is going on nor can I find anything out there that really helps me with my problem, hence why I'm posting this :\
I have an windows application written in c#. I needed to have the ability to show a certain web page depending on actions taken by the user and I wanted to make it look and feel like the web page was actually part of the windows application so I created a form and added an instance of the Microsfot Web Broswer control to it after having seen an example online using this.
Pretty much everything worked perfectly with it until I went to distribute an installer for the application. The problem is that the installer won't include the Interop.SHDocVw.dll and I have to manually copy this dll to the install folder. A major pain when trying to install this on numerous client machines to say the least. It has no problem with the AxSHDocVw.dll and this is copied in.
I've tried removing and adding the references a number of times. I've refreshed the dependencies to the installer. I've tried to add this dll to the installer manually, both the Interop.SHDocVw.dll and the SHDocVw.dll to no avail. I always get an error message that it is already included in the references, which it is, and the installer build fails.
Can someone please tell me what I need to do to resolve this? Or if not, maybe another way of doing what I'm try to acheive.
TIA,
Brian
|
|
|
|
|
What are you using for the installer, if you're using the one bundled with VS.NET then I think you can just open up a filesystem like view and use the context menus to add the dll, install it to the same directory as the application (as you're doing manually at the moment).
If you're using a "third-party" installer then I'd expect you'd know what you're doing unless there was a wizard provided which built up all the references. If you're using something like NSIS then I'd expect you to know better since you wrote the script .
You know you're a Land Rover owner when the best route from point A to point B is through the mud.
Ed
|
|
|
|
|
Hi:
I'm using codedom to generate source code and I need to generate something like the ternary operator in C# ( ? : ) but I don't know how to do it, I can't find any class in the System.CodeDom namespace to do this.
Thanks
Pablo Hernandez Valdes
|
|
|
|
|
|
friends i m having problem in displaying the form in a loop:
do
{
this.boardRenderer.DisplayBoard(gameBoard);
<other code>
}while(<the game doesnt ends>)
the DisplayBoard function draws on the form but when it is called in from a loop, the main form is not displayed until the processing of the loop is over (END OF GAME IN MY CASE :'( ) how can i make it display the form while processing other code?? PLZZZZ HELP!!
|
|
|
|
|
That is normal, the repaint happens in the same thread. You will need to have a worker thread that draws on the form using delegates.
I am sure there is a tutorial here on code project.
--------
"I say no to drugs, but they don't listen."
- Marilyn Manson
-- modified at 16:05 Monday 5th June, 2006
|
|
|
|
|
Thanx michel but the thing is i only want to draw the board whenever the player makes a move not randomly so will worker thread be usefull then also?
regards
|
|
|
|
|
|
A link to a very good article on the subject: [^]
Read thoroughly!!!
--------
"I say no to drugs, but they don't listen."
- Marilyn Manson
|
|
|
|
|
HEY THNX BUDDY.. U ROCK
|
|
|
|
|
|
If the game board really needs to be updated a zillion times a second, then you might want to consider triggering the rendering logic via a Timer. If the frequency of invalidation is not that common, then you might just want to handle the Paint event of a Panel and render the game board there.
Josh
|
|
|
|
|
I have a routine that enables me to update a textbox even when called from a non-ui thread.
delegate void AppendTextCallBack(string text);
private void AppendText(string text)
{
if (this.textBoxStatus.InvokeRequired)
{
AppendTextCallBack CallBackAppendText = new AppendTextCallBack(AppendText);
this.Invoke(CallBackAppendText, new object[] { text });
}
else
{
textBoxStatus.AppendText(text);
}
}
It works just fine, the problem is that I am repeating it and others like it in every single form in my app. I'd like to refactor and have a single function in some common location that all the forms can use. I'd prefer not to create whole new class, but...
Any suggestions?
|
|
|
|
|
Sorry about the code formatting, it looked fine before the post.
|
|
|
|
|
nicknotyet wrote: I'd prefer not to create whole new class, but...
That really limits your options.
You could implement those helper methods as public static members of one of your Form-derived classes, and then call into those methods from the other Forms. But that is weird, because there's probably no justifcation for that one Form-derived class to have the methods, and not some other Form-derived class.
I'd say bite the bullet and spend the extra 6 seconds needed to create a static utility class.
Josh
|
|
|
|
|
Yeah, it really wasn't that much work.
Making it static was the difference as it obviated me of the need to instantiate the class all over the place.
Thanks
NIK
|
|
|
|
|
If the loss of type safety doesn't bother you much, you could factor it out into a generic routine like this
private void MarshalToUIThread(Delegate d, params object[] arr)
{
if (this.InvokeRequired)
this.BeginInvoke(d, arr);
else
d.DynamicInvoke(arr);
}
You would then call it like MarshalToUIThread(new AppendTextCallBack(AppendText), new object[]{text});
Regards
Senthil
_____________________________
My Blog | My Articles | WinMacro
|
|
|
|
|
I am working on an app and having issues with my DAL and connectivity. Can anyone suggest a site with a sample app which details how to do this?
Guess this might help... using VS.NET2005 in conjunction with SQL2K5
-- modified at 14:37 Monday 5th June, 2006
|
|
|
|
|
Can you should be more specific about the type of problem you are having? You might get more replies that way.
Josh
|
|
|
|
|
I have data access/population of a grid via drag and drop but now I am trying to create a data access layer with provided stored procs to populate grids as opposed to drag and drop. So my issue is creating a DATAAccess class with the SQLConnection to be called by various forms.. then once the SQLConnection is made I need to call storeProc1 for example.
So 1. I need an example of a generic dataaccess class to create the connection
2. be able to call the dataaccess from a from
3. be able to call a stored proc to populate a GRID
|
|
|
|
|
This is basic data access work. You should be able to find tons of samples, snippets, etc. on CodeProject. If all else fails, Google.
josh
|
|
|
|
|
I have 2 objects, one is the form ( form object), the other is an object (updating object) responsible for updating it's local DataTable.
Each of these objects runs in its own thread.
In form object I have a datagrid which is bound to the local table of the updating object.
When I run the program, if I don't disable the grid, it can run only 2 loops. If I disable the grid, I can run some dozens of loops.
If I replace the grid by another control ( combobox for example), the application runs smoothly.
Can you explain me why this happen? Thank you very much.
I suspect this problem relate to the Multi-thread enviroment.
|
|
|
|
|
In Windows a control should only be modified from the thread which created the control. Make sure that you are only touching the grid from the main UI thread. You can check that by inspecting the value of InvokeRequired on the grid. If you are updating the grid from a different thread, be sure to marshal the call over to the UI thread via the BeginInvoke method on the grid.
Josh
|
|
|
|