|
That's a simple problem, and that VB control won't help you. Download and install the Platform SDK if you don't have it already. Search for the GUIDs. I personally use GViM (Graphics VI iMproved) with a tags file created for each INCLUDE. This makes it fast to find things like this.
The interfaces you mentioned are documented in the Platform SDK, and you can always look at their declaration in the header files (which gives you the order of methods so you can get the VTBL order right for IUnknown -inheritted or dual interfaces. I do it all the time with poorly documented interfaces or to find orders or to find the pre-proc defs or GUIDs for anything.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I'm writing a class library which contains a couple dlls. Is it possible to have one combined dll of my class libary and the other dlls i'm using. I just want to make a single redistributable dll. Is it possible?
Note: I don't have the code for the dlls i'm using in the class library. Only have the dll itself
Thanks in advance
|
|
|
|
|
Yes, but call them what they are: assemblies. An assembly contains a manifest at the very least. It can also contained 0 or more embedded resources, assembly attributes, and modules. Those modules are what contains your IL (intermediate language) that the compiler generates.
Unfortunately, VS.NET won't help. You can only compile to modules using the command-line compilers. For the C# compiler, this uses the /t:module switch. When you compile the last project, you use an assembly switch (everything else but /t:module, like /t:library for a class library) and then use /addmodule:<path> to add the other modules. This will create an assembly with multiple modules.
By why are you worried about sending out multiple DLLs? You should install them into the GAC anyway, which takes care of versioning problems. By distributing the Types, this also gives you more flexible control over independently versioning assemblies. You can redirect assembly bindings using a publisher policy - a specify type of assembly that gets installed into the GAC.
So, if class library A depends on B, but you had to change B and don't need to change A, then you must tell assembly A to look at the new version of B. This is assembly version redirection. When you start having larger projects (I managed a product with over 60 possible assemblies, depending on the edition someone buys), this is a must since you don't always need to recompile everything (especially a problem when you're doing touchless-deployment over the Internet like we are).
Just something to consider.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
|
They can, but modules and assemblies have to be compiled with a single command. csc.exe can produce multiple output files at the same time, but the first /out: has to contain the manifest. If you do it that way (or use pre-proc defs and a two-stage build, which is what I did a while back), modules can even access internal types in other modules within that assembly.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
We are attempting to deploy what should have been a very simple implementation. Our VS 2003 WinForm application has the need to edit XHTML. Our approach is simple:
We write an ASPX app that exposes the XHTML editor and takes the file to edit as the query string.
We create a form in the WinForm application which contains the IE control and serves as the container serving up the ASP.NET application.
---
What we expected to have happen was that the ASP.NET app would function undisturbed within the ie control context.
---
What we experience is that populated data does not show up when posted to the server side.
Controls that work fine when executing the form directly don't allow editing when inside the IE control.
Is there something I'm missing here? It seems to me that an ASPX application should function identically in the IE control as well as it does directly in the browser!!!!
|
|
|
|
|
You should take a look at the Comzept NetRIX Editor[^], which wraps MSHTML and can write XHTML and has all the bells and whistles you'd expect from an HTML editor, plus it also saves you from such an elaborate and tightly-coupled system.
As far as your problem goes, just because yo'ure embedding the WebBrowser control doesn't mean that the WebBrowser control and iexplore.exe or explorer.exe (when hosting the WebBrowser control) will function the same. The container provides a lot of services to the MSHTML control, and any scripted calls to window.external will break as well.
You can provide services to the MSHTML and WebBrowser controls, however (the WebBrowser control does provide some service to MSHTML). Read the article Using MSHTML Advanced Hosting Interfaces[^] as well as the articles linked to MSDN which describe the hosting interfaces in depth.
To provide such services to the WebBrowser control, you really have to be familiar with COM and COM Interop with .NET. There's a lot to do, which NetRIX has already done for you (at a decent price).
No, I'm not trying to peddle NetRIX. There are other solutions (though not as good, I assure you, since we've tried to look at them all here). I have done this interop to a degree but I was spending far too many man-hours adding more interop functionality (trust me, it's not so easy with when one interface recursively requires many others) than what it cost to buy NetRIX. You might want to take a look.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi
I want to convert the unicode string ( in DotNet) to extended ascii bytes.
I tried UTF8Encoding and ASCIIEncoding.
But in UTF8Encoding i am two bytes for the £ ( character value 163)
In ACSIIEncoding I am getting question mark (?).
How can I convert the character £ to a ascii byte value
Please Help
Regards
|
|
|
|
|
You have to specify a codepage. Any characters about 127 in ASCII (since ASCII defines 7-bit characters, not 8-bit) depend upon a codepage for what those characters represent
byte[] ubuf = Encoding.Unicode.GetBytes(
"This is a string stored as Unicode in .NET.");
Encoding enc = Encoding.GetEncoding(1252);
byte[] abuff = Encoding.Convert(Encoding.Unicode, enc, ubuf);
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
Hi
Thanks for your time.
In the above example will I get a extened ascii bytes at abuff ?
Regards
Shiraz
|
|
|
|
|
Yes. As I said before, ASCII uses only 7-bit characters, so you only get characters below 128. You have to specify a codepage to get valid characters over that. Different regions use different codepages. The Greeks filled their last 128 characters with greek symbols, for example; the Russians with Cyrillic; so on, so forth. That link I provided will explain more.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
I want to write arabic letters, what codepage should i use to get arabic letters?
thanks for your time
|
|
|
|
|
Hi there:
This code helped me much, but I exatcly need its opposite.
How can I change the Unicode numbers to characters?!
Tnx in Advance.
Always ,
Hovik Melkomian.
|
|
|
|
|
char c = (int)65;
c is now "A".
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
hi !
sorry for my bad english
So...
How can i give the encoding format (UTF-7/8/16) .
I'm testing with a Word Document.
Thanks in advance
Alex
|
|
|
|
|
hi
System.Text
1. UTF8Encoding
2. UFT7Encoding
3. ASCIIEncoding
3. UnicodeEncoding
These class can be used to encode the text as we require.
Hope this will help u in some way.
Regards
|
|
|
|
|
thanks
|
|
|
|
|
i want to use a query builer in my project, as well as SQL Server`s query analyser that with it, i can biuld and analys my desire query at run time for my report generator.
thanks.
|
|
|
|
|
Then use google[^] to search for articles. No one answered you last time, save myself since you actually didn't ask a question (just stated a purpose). There many be articles here on CodeProject as well.
It's definitley not a simple solution and requires a lot of understanding about parsing and graphics. There may be commercial libraries as well. Just search.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
A colleague of mine tried to buil a SQL query parser/builder, and succeeded, as long as the queries were simple. As soon as you dive into nested queries, the nightmare begins. I think one of the reasons a lot of database servers are so expensive is probably because it took an enormous amount of time to create a fast enough query parser. And to make a query builder, in a puristic way of seeing things, would require understanding of how the resulting query would be parsed....
|
|
|
|
|
Hi,
Can anyone tell me about using DllImport in C# ? Why and How ?
Thanks in advance
Deeps..
|
|
|
|
|
The DllImport attribute is mainly used for P/Invoke calls (that is, calls to legacy functions, like Win32 API, old DLLs you've got lying about, etc.) There's loads of sites out there that will give you some useful examples (as well as how to deal with some of the gnarlier C-style structures you're sure to encounter), but here's a quick-and-dirty example:
namespace bob {
public class GarbageClass {
[DllImport("Kernel32.dll")]
public static extern bool WriteProcessMemory(
IntPtr hProcess, IntPtr lpBaseAddress,
IntPtr lpBuffer, int nSize,
out int lpNumberOfBytesWritten );
....class omitted....
}
}
This is the declaration for the Windows API call
BOOL WriteProcessMemory( HANDLE hProcess, LPVOID lpBaseAddress,
LPCVOID lpBuffer, SIZE_T nSize, SIZE_T* lpNumberOfBytesWritten)
Welcome to the world of P/Invoke
Jeremy Kimball
I have traveled the gutters, lo these many days, with no signs of life. Well met.
-brianwelsch
|
|
|
|
|
If you want to know more information than what Jeremy gave you, I suggest you thoroughly read the documentation.
Read Consuming Unmanaged DLL Functions[^] and Marshaling Data with Platform Invoke[^] in the .NET Framework SDK.
For information specific to the DllImportAttribute , you can read about that[^] in the class library documentation in the .NET Framework SDK.
Be sure you read about it. Just guessing leads to many problems, especially since when you marshal data between managed and unmanaged code, the bit-widths of data types must be the same (like an unmanaged LONG is actually a managed long (Int64 )). Having experience with native code (i.e., C/C++) will definitely be helpful.
Microsoft MVP, Visual C#
My Articles
|
|
|
|
|
hi
Is it possible to include an XML document in a Reource File?
If yes, pls help me with sample codes.
Regards
ganesh
|
|
|
|
|
Anything can be an embedded resource. Add the XML document to your project, right-click and select Properties. In the PropertyGrid, change the Build Action to Embedded Resource.
Use Assembly.GetManifestResourceStream to pull it out. The root namespace of the project (in the project settings) plus any folders in which an emedded resource is located comprise it's "namespace" (as well as the default namespace for source files, though you can override this after the file is created).
Microsoft MVP, Visual C#
My Articles
|
|
|
|