|
I am getting a null pointer error from the StrRetToStr method I call from COM. The method is called as follows:
<br />
result = COMStuff.StrRetToStr(ref mySTRRET, relativePIDL, out myFileName);<br />
Where mySTRRET is a valid STRRET retrieved from the GetDisplayNameOf method. RelativePIDL is a pointer to the PIDL of the object relative to the parent (Used BindToParent). and myFileName is a 128 charachter marshaled Bstr string.
All values are previously defined. SO i'm not sure why I am getting this error. Is the PIDL not supposed to be the relative one? I've used the origional PIDL, and still have no luck with this. Any help appreciated.
Regards
Cata
|
|
|
|
|
Please post additional code used around this call. Is the error message any more explicit?
- Nick Parker My Blog
|
|
|
|
|
Hi,
How can I generate EMails with HTML and send them using C# / .net.
Sorry but I have no idea about how that kind of e-mail works ( if there is an standard format to have the pics and content embedded or...).
Thanks in advance, Greetings
Braulio
|
|
|
|
|
This is done using MIME (Multipurpose Internet Mail Extensions). You should first understand how SMTP works and how basic email messages are formatted. It's similar in concept to HTTP, in that you provide headers, skip a line, and begin your content. MIME adds content types, including multipart which allows you to include text, html, images, and more. Image should, of course, be encoded as text (typically base64-encoded, but could be anything so long as clients support it).
For some information about MIME, you can google. There is a specific section on MSDN, MIME Extensions to Internet Mail[^] (kinda of redundant, but oh well) that also includes a sample of a MIME message. It also includes information on many common types used in MIME messages, but you can use anything so long as it can be interpreted by the email client (if it isn't, only the parts of the email that are understood are displayed).
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Heath , why don't you advise him MailMessage Class?
Mazy
"Improvisation is the touchstone of wit." - Molière
|
|
|
|
|
Mazdak wrote:
Heath , why don't you advise him MailMessage Class?
While you can send standard HTML with the MailMessage class, the poster originally asked about embedding content including images which would require the use of MIME as Heath noted.
- Nick Parker My Blog
|
|
|
|
|
Because it doesn't allow you to send pictures as part of the HTML body, only to include a URL from an external resource. You can include attachments, but without using the right MIME header the HTML body won't resolve the attached image correctly.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi everybody,
I need the measures and the positions of any header from a TabPage. Does anybody know how to get these informations?
The reason is: I want to use the normal TabPages, which are used with the WindowsXP-Look. But I want to specify (override) the color of the little colored topline (standard XP is orange) for every TabPage by my own.
My idea was to write a custom control (TabControl) and react on the OnMouseMove event to draw my colored (blue) line over the orange line.
Or is that all over the wrong way?
Frank
|
|
|
|
|
How about TabControl.GetTabRect ? It's right there in the documentatino for TabControl in the .NET Framework SDK.
Note, though, that if you're overriding the painting of a TabPage , you can more effectively use the TabControl.DrawItem event (or override OnDrawItem in a derived class) when TabControl.DrawMode is set to TabDrawMode.OwnerDrawFixed .
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
SORRY...!!!!!!!!!!!!!!!!!!!!!!!
Thanks. That's what i was looking for.....
I've probably worked too long...!!!!!
Frank
|
|
|
|
|
Hi,
I develop system management tool.
This have 2 functions.
1. get cpu usage rate from localPC and remotePC.
2. get system cash memory from localPC and remotePC.
These functon are realtime functions.
If you have some ideas, please tell me.
best regards,
yu-yu,
|
|
|
|
|
|
Mr Stewart
Thank you for your advice.
I will try it.
regards,
yu-yu
|
|
|
|
|
We've got a multi-threaded server (we are very early in the project, trying to uncover some risks), and we want to send data using XML.
The class ServerAdapter is supposed to connect to the server (which works fine), to send data, but on the same stream be able to read data (which is causing problems).
In the function "bool Connect()", we want to instantiate the XmlTextReader with the stream that we got from the 'TcpClient client', but somehow that goes wrong. No exception is cast, but the problem definately has something to do with the stream that we get from the call 'client.GetStream()'.
When we try to do the exact same thing, with a stream NOT from a TcpClient, there is no problem. We've checked to see if it had something to do with the access-property on the connection (the 'Socket') on the serverside, but it came up negative. I am pretty much out of ideas, so if you can help me out, it'd be great (first time here, so I dont know the standarts)
We've checked how far it gets with text-outputs, so we KNOW that the XmlTextReader causes the problem.
Here is the part of code that fails.
public class ServerAdapter : IServerAdapter
{
private IServerEventHandler serverEventHandler;
private TcpClient client;
private NetworkStream stream;
private Thread readThread;
private XmlTextReader streamReader;
private XmlTextWriter streamWriter;
private BinaryReader reader;
private XmlValidatingReader validatingReader;
private XmlSchemaCollection schemaCollection;
public ServerAdapter()
{
}
public ServerAdapter( IServerEventHandler serverEventHandler ):base()
{
this.serverEventHandler = serverEventHandler;
}
public bool Connect()
{
bool connected = false;
try
{
client = new TcpClient();
client.Connect( "10.0.55.12", 4312 );
stream = client.GetStream();
streamReader = new XmlTextReader( stream );
streamWriter = new XmlTextWriter( stream, new System.Text.UTF8Encoding() );
blablabla....
Thanks in advance
...Borgbjerg
|
|
|
|
|
You're opening a reader and writer on the same stream without closing either one first. Because the stream can only send or receive data at one time, you need to close the reader before using the writer, and vice versa.
Also, have you looked into .NET Remoting? This seems like a fairly good scenario to implement remoting and you can still use a TcpChannel (either in a configuration file or programmatically) to send and receive data over TCP. The nice thing is that you can work with instances of objects rather than just data back and forth, making this a good OO design in terms of communication.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
We figured it out... It is no problem to read/write the same stream at the same time.
The problem is that the call to XmlTextReader's constructor was blocking the whole thread. So what we did, was more or less to start a new thread for the Reader, so it could block all it wanted. However, the weird thing is that we didn't call reader.Read(), and that it was still blocking. But thanks for the help
And have fun
|
|
|
|
|
I can't really see how that'd work with a NetworkStream , but I guess it works for you. Good.
One thing I would recommend, though, is that you use the encoding of the stream you get from the server (from XmlTextReader.Encoding ) so as not to mix encodings, unless you already know that the stream will be UTF-8 encoded.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I need to know how can we grant permission to access the Msysobjects through C# coding.
Any kind of suggestion is highly appreciated!
|
|
|
|
|
|
I'm trying to add an image into an Access database.
I have added an image as a binary Byte array which you can deserialize into an image again when extracting this from the database.
I'm however looking into adding an image directly to the database, which in my mind should be possible to do programatically, since you can add a picture directly into the database as an OLEobject.
I'm stuck on this problem, and I really hope that someone has an idea about this.
Thanks.
Bengt
|
|
|
|
|
You have to read a FileStream into byte[] then you can set this value into your DataSet in the image field. This is the way:
System.IO.FileStream stream = new System.IO.FileStreammybmp.bmp", System.IO.FileMode.Open, System.IO.FileAccess.Read);
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, (int)stream.Length);
stream.Close();
dataSet11.Tables["Employees"].Rows[index]["Photo"] = buffer;
Mazy
"Improvisation is the touchstone of wit." - Molière
|
|
|
|
|
Hi everyone,
I have to delete a directory in my program. I use Directory.Delete method. However, there could be some read-only files in the directory. In that case, the method fails. How can I delete the directory inclusing the read-only files without iterating through the files and changing its attributes.
Thanks,
Pankaj
Without struggle, there is no progress
|
|
|
|
|
You iterationist!
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
"Get in touch with your Inner Capitalist - I wish you much success!" -- Christopher Duncan, Lounge 9-Feb-2004
|
|
|
|
|
Cannot help it! I love STL
Pankaj
Without struggle, there is no progress
|
|
|
|
|
I think your best shot is to iterate. There really is no way to get around the fact you are manipulating a set of files when you fail. FileInfo.Attributes will have the flags of the file you point it too.
FileInfo info = new FileInfo(thepathtofile);
info.Attributes &= ~FileAttributes.ReadOnly;
It will remove the Read-Only flag from the file if it is set (and do nothing if it isn't).
Of course this insn't foolproof either. If you don't have permissions to change this on a previlaged filesystem then you'll get an SecurityException toggling the flag.
In general terms, you just have to deal with the fact permissions aren't set correctly. Maybe the correct course of action for when attempting a Directory.Delete where you have Read-Only files is to catch the exception and abort. Altert the user and don't attempt to fix it on your own. There might be a good reason why a Read-Only file is in a directory.
|
|
|
|