|
What I see? the code project is hacked! 
|
|
|
|
|
What exactly do you see? You surely aren't referring to the Austalia Day banner, are you? If so, it's not a hack, the admin of this site actually have personallity.
Fear not my insanity, fear the mind it protects.
|
|
|
|
|
Not to mention he's originally from Australia.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
And what about those aweful sexual advertisements? are they the new strategy for making money? If so, I am sorry! 
|
|
|
|
|
I'm trying to load some data from a parent form, actually the main Form, of my app into a dialog box using the following:
Config config;
config = ((Form1)this.ParentForm).config;
the ParentForm though is always 'undefined' and a NullReferenceException occurs with the followiing information:
'Object reference not set to an instance of an object'
I'm confused, as I followed the code example in the C# help "Retrieving Information from the Parent Form of a Dialog Box".
What am I doing wrong, how do I manage this?
|
|
|
|
|
When are you trying to do this?
In the constructor? ParentForm has the default value (null) when in the constructor (just like any other variable).
|
|
|
|
|
I'm not doing any of this in the constructor.
A simple case is:
I have 2 forms
Form1 has a public string, myString, initialised with "ABCDEF". It also has a button that when clicked loads Form2:
<br />
private void button1_Click(object sender, System.EventArgs e)<br />
{<br />
Form2 frm = new Form2();<br />
frm.Show();<br />
}
Form2 has a label on it, in the label's 'Click' event I try to set it's Text with the following:
void label1_Click(object sender, System.EventArgs e)<br />
{<br />
label1.Text = ((Form1)this.ParentForm).myString;<br />
}
This causes the NullReferenceException and when I highlight 'this.ParentForm', it shows as <undefined value="">
Why?
|
|
|
|
|
Ah, I see.
The problem is that when you use Form.Show(), it creates a global form, not a child form.
You either need to set the Parent property manually (which will also put the second form "into" the first form visually) or create a modal form using Form.ShowDialog().
|
|
|
|
|
OK I know about the [Serializable()] and [NonSerialized()] attributes that can be applied to classes and their members. Now lets consider the case were we have version 1.0 of a class:
<br />
[Serializable()]<br />
public class Foo<br />
{<br />
private int m_nBar;<br />
[NonSerialized()]<br />
private System.Drawing.Pen m_pen;<br />
}<br />
and lets assume that in version 2.0 we need to add another member to the class so it looks like this:
<br />
[Serializable()]<br />
public class Foo<br />
{<br />
private int m_nBar;<br />
private int m_nAnotherBar;<br />
[NonSerialized()]<br />
private System.Drawing.Pen m_pen;<br />
}<br />
What happens now when version 2.0 tries to read files written using version 1.0 is that an exception is thrown. What is the most elegant way to handle this? Am I forced to implement ISerializable and do all member serialization myself?
Wenn ist das Nunstück git und Slotermeyer? Ja! Beierhund das oder die Flipperwaldt gersput!
|
|
|
|
|
To upgrade a serialized document, extend SerializationBinder and override BindToType to bind one version of a Type (passed as a string so you don't have to load older assemblies) to the new Type in your assemblies. See the documentation for the SerializationBinder for more information. You assign this to the IFormatter.Binder property of your formatter, like the SoapFormatter , before deserializing.
On that note, if you're serializing Types for .NET Remoting, you can set the includeVersions to false (either via the .config or the Properties for the formatter sink) so that versions aren't included when serializing an object graph to send across application boundaries.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Hello!
GDI+ text output makes me sick Sometimes GDI+ writes text with wide s p a c e s between letters, sometimes it writes letters very close together....The same with words...
How can I configure the text drawing style or how can I solve this problems?
My actual code for text output:
<br />
StringFormat Format=new StringFormat();<br />
Format.FormatFlags=<br />
StringFormatFlags.NoWrap | StringFormatFlags.NoFontFallback | <br />
StringFormatFlags.LineLimit | StringFormatFlags.MeasureTrailingSpaces;<br />
<br />
G.DrawString("Some text",Font,Brush,0,0,Format);<br />
<br />
G.DrawString("Some text",Font,Brush,TextRect,Format);<br />
<br />
|
|
|
|
|
Does this all happen with the same font?
|
|
|
|
|
|
Try a different font to determine if the font is causing the problem.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
There was a discussion not long ago about GDI+ squishing characters together at the end of a sentance when NoWrap was used (or a couple other conditions were true). This lead to a topic on MSDN about why it does that and the proper StringFormat to use to eliminate that (StringFormat.GenericTypographic ). Try to use the same flags as that if possible.
As far as spaces appearing between letters, this is fairly odd. I've never seen this when drawing my own strings and have never seen anything documented to even control this. Either the text you're passing has spaces (inproper Unicode string?) or the font you're using has some issues. Try a different one and see.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
This is a known problem in GDI+.
The resolution is to use non-gridfit font hinting or a monospaced font.
You should also use FitBlackBox to prevent the lines from painted at slighty different heights.
Here's how you can check for it (note: i have a fonthint field in my class):
Also AA fonts look very poor in small sizes.
void CheckFontBug(Graphics g)
{
float w = g.MeasureString("w", font, int.MaxValue, sf).Width * 10f;
float l = g.MeasureString("llllllllll", font, int.MaxValue, sf).Width;
fonthint = (System.Math.Abs(w-l) > 0.005f) ?
(fontheight > 14f ? TextRenderingHint.AntiAlias : TextRenderingHint.SingleBitPerPixel) :
TextRenderingHint.SystemDefault;
}
leppie::AllocCPArticle("Zee blog"); Seen on my Campus BBS: Linux is free...coz no-one wants to pay for it.
|
|
|
|
|
The latest programs use only one process for several application instances. An example is Microsoft Word. When you run it for the first time it creates a process and an empty document. When you run the executable for the second time (while first instance still running) then it doesn’t create a new process. It tells somehow to the first process to create just a new empty document. In this manner the program uses lower resources. How to implement it under .NET?
Thanks in advance
|
|
|
|
|
genghis[^] includes an example of how to have a 'single instance' app.
HTH
|
|
|
|
|
Is there some reading on how to organize the initial ideas, for a fairly large software (a graphics software, estimated to take about six months). I feel at loss, not having a computer science background.
|
|
|
|
|
Just a thought: Look for information on the Microsoft Solution Framework: Envisioning phase / Conceptual Design / Logical Design / Physical Design / Developement / Test / Deploy.
MS Exam 70-300 covers this also. (So one of the study guides for that exam could help out - I do NOT recommend the MS Press book for that exam, it is very dry reading and I felt that my major intestine was about to jump into my throat and strangle me in order to prevent me going insane with boredom)
--Colin Mackay--
EuroCPian Spring 2004 Get Together[^]
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
|
|
|
|
|
Environment:
Windows Server 2003, Visual Studio .NET 2003, .NET Framework 1.1.4322.
The workstation is connected to a router directly.
This is my code:
IPAddress ip = IPAddress.Parse("234.5.6.7");
UdpClient s = new UdpClient(AddressFamily.InterNetwork);
s.JoinMulticastGroup(ip, 2);
When the application run over the last sentence, an exception happens which indicates that an invalid parameters. The UdpClient object can not join a multicast group at all.
|
|
|
|
|
What exception is being thrown exactly? I'm assuming an ArgumentException based on your description, but please correct me if I'm wrong. If a SocketException is being thrown, it's possible that your router does not support multicasts. You should consult your router documentation (or ask an admin) to find out for sure (although it would be safe to assume that it does).
Finally, for sanity's sake, debug this code and after the ip is assigned by IPAddress.Parse , check the IPAddress.AddressFamily and make sure that it is indeed AddressFamily.InterNetwork . An ArgumentException is most likely thrown when the IPAddress does not belong to the AddressFamily specified in the UdpClient constructor.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.21
GCS/G/MU d- s: a- C++++ UL@ P++(+++) L+(--) E--- W+++ N++ o+ K? w++++ O- M(+) V? PS-- PE Y++ PGP++ t++@ 5 X+++ R+@ tv+ b(-)>b++ DI++++ D+ G e++>+++ h---* r+++ y+++
-----END GEEK CODE BLOCK-----
|
|
|
|
|
Hi Folks, I wonder if somebody can either point me in the right direction or explain a certain concept to me... i just can't figure it out (i've browssed through MSDN)...If in an application I have several threads running and while these threads are running something arrives on the serial port of the computer...Using a control I can raise an event to signal this "BUT" will the application be aware that this event has taken place? Or how can I make sure that the application is aware that something has been recieved at the serial port while other threads are running?.... Please can someone help...
A secondary issue also related ... say again multiple threads are running in an application, in one thread I implement a lock on a certain portion of code (so this must complete execution before any other thread can resume control)... if a timer raises an event (or is due to raise an event) while another thread is executing a portion of locked code... will this timer event be lost by the time the locked code in the other thread completes???
can anyone help!!! I'm desperate... can't find this information anywhere...
Maria (phillips_maria@hotmail.com)
|
|
|
|
|
maria_p wrote:
say again multiple threads are running in an application, in one thread I implement a lock on a certain portion of code (so this must complete execution before any other thread can resume control)...
Now, what I remember from my concurrency lectures (8 to 10 years ago) if you lock a piece of code (the "critical section") other code in other threads can still execute as they are not preventing from executing, they just can't execute the locked code.
Think of the critical section as the centre of a highway intersection with an American 4-way Stop sign. (In America the rule is the first to arrive has right of way and can pass through the intersection). So the first car arrives and is allowed onto the intersection. A fraction of a second later another car arrives from a different direction, it must wait until the first car has passed through. This is locking. Now, just because some traffic has to wait to gain access to this intersection doesn't stop the traffic flowing on an interstate a mile away.
Does this help you understand how concurrency (multithreading) works?
--Colin Mackay--
EuroCPian Spring 2004 Get Together[^]
"You can have everything in life you want if you will just help enough other people get what they want." --Zig Ziglar
|
|
|
|
|
Yes thank you Sir, what you have said and the way you put it has given me a totally different way of looking at the issue (Excellent analogy!)... still a little confused about one issue though.... regarding the event at the serial port....
If various threads are executing in the application will the system get a chance to acknowledge the/an event (which I am expecting at some point) that may take place due to something arriving at the serial port? Or when one thread looses control another thread will immediately take control and due to this the possible event will be missed or seriously delayed? Is there a way around this or am I just missing the point about something?
If you could also explain this I'd be most grateful.
maria
|
|
|
|