|
It's not quite that simple ... it works A-OK from the VC++ demo app. It's NOT written in COM just a standard Win32 MFC DLL written in VC++.
The timing appears to be due to the finite # of milliseconds it takes for the DLL objects to get created. They are not ready yet, and a subsequent call returns an error since it is pointing to things that are not yet created. Quite strange.
Ed
|
|
|
|
|
Hmm, seems to me I've heard MFC doesn't
play nice with other frameworks. And
.NET is a framework. I've run into some
strangeness with MFC. I remember I was
experimenting with forms in DLLs and had
one done in Delphi that I launched from
a VC++ 6.0 MFC app using a worker thread.
No matter what I did when I closed the
DLL form, I got an exception. However
if I displayed a messagebox in the VC++
app after closing the form, I never got
an error. I chalked it up to Delphi
having a VCL and MFC not being at the
root of all the GUI stuff, but who knows?
Of course the Delphi DLL form worked fine
with every other app I used to launch it,
such as Delphi and VB 6.0. Go figure.
|
|
|
|
|
Well if implemented correctly MFC is capable of being accessed by other types of compilers ... that in itself is not the issue. The issue is that the way that C# loads DLL's is a bit strange coming from C++ ... I suspect VB does it the same way, I've developed a hacky workaround but it would be nice to know from a real C# expert why this is happening. In fact, forget I even mentioned MFC if you do it with a Win32 (or a Delphi) DLL it will load the same way. I did a little Delphi work myself at one point.
Ed
|
|
|
|
|
Did you try searching knowlegebase for a bug
report? You can't be the only one seeing
DLL load lag if that's what's happening.
|
|
|
|
|
Can I use java classes in my .C# program?
I want to use org.xml.sax mosty... Are they stored in DLLs???
Where are they?
/\ |_ E X E GG
|
|
|
|
|
eggie5 wrote:
I want to use org.xml.sax mosty... Are they stored in DLLs???
You want to use the SAX parser? Take a look at what is provided in the .NET Framework, there is all kinds of classes that provide XML support. Are you looking for some interop between Java and .NET? Look in the System.Xml namespace (System.Xml.dll).
- Nick Parker My Blog | My Articles
|
|
|
|
|
Hi,
searched around but couldn't find anything. Almost unbelievable. I think these must be common questions. I'd like to display the files in a given folder within a ListView. Various don't-knows:
1. How to I retrieve the associated icon for a given file?
2. How do I retrieve the file type (on my german OS, the win-explorer writes "Microsoft Word-Dokument" when selecting 'bla.doc'.)
3. How do I launch the file in it's associated application. I know I can start any application using Process.Start(). But is that the way of doing it properly (by attaching the documents file name as a commandline parameter?)
Just need a starting point.
Thanks a ton!
Matthias
If eell I ,nust draw to your atenttion to het fakt that I can splel perfrectly well - i;ts my typeying that sukcs.
(Lounge/David Wulff)
www.emvoid.de
|
|
|
|
|
Matthias Steinbart wrote:
How to I retrieve the associated icon for a given file?
This is done through P/Invoke, here is an example:
[StructLayout(LayoutKind.Sequential)]
public struct SHFILEINFO
{
public IntPtr hIcon;
public IntPtr iIcon;
public uint dwAttributes;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 260)]
public string szDisplayName;
[MarshalAs(UnmanagedType.ByValTStr, SizeConst = 80)]
public string szTypeName;
};
public const uint SHGFI_ICON = 0x100;
public const uint SHGFI_LARGEICON = 0x0;
public const uint SHGFI_SMALLICON = 0x1;
[DllImport("shell32.dll")]
public static extern IntPtr SHGetFileInfo(string pszPath,
uint dwFileAttributes,
ref SHFILEINFO psfi,
uint cbSizeFileInfo,
uint uFlags);
string file = @"C:\dir\blah.doc";
IntPtr hImg = SHGetFileInfo(file , 0, ref shinfo,
(uint)Marshal.SizeOf(shinfo),
Win32.SHGFI_ICON |
Win32.SHGFI_SMALLICON);
Icon i = Icon.FromHandle(hImg);
Might I ask, are you trying to recreate the Windows Explorer?
- Nick Parker My Blog | My Articles
|
|
|
|
|
Hi Nick,
thanks for your reply which I haven't tested yet but seems to solve one of my problems. And by all means, you surely might ask:
I'm not trying to recreate the windows explorer. I'm building a database app, which, among other useful things stores pointers to directories associated with specific elements of the application. The contents of those directories (image files of various kinds) must be listed within the application. Each of the files must be displayed with it's associated icon (hopefully solved now), it's name, dates and size (no prob here) and it's description (like "Microsoft Word Document") which still needs to be done. I'm writing a usercontrol for this and think about posting it here once finished.
Thanks for your help!
Matthias
If eell I ,nust draw to your atenttion to het fakt that I can splel perfrectly well - i;ts my typeying that sukcs.
(Lounge/David Wulff)
www.emvoid.de
|
|
|
|
|
Matthias Steinbart wrote:
3. How do I launch the file in it's associated application. I know I can start any application using Process.Start().
You do the same for the document file, but don't include the application's execute and putting your document path as a command line parameter. It's actually NOT the right way to do it... Setup your Process object as usuall, but set its UseShellExecute property to true . This will launch the document with the registered application and use the correct command line options, if any.
Process myNewProcess = new Process();
myNewProcess.StartInfo.FileName = "myWordDoc.doc";
myNewProcess.StartInfo.UseShellExecute = true;
myNewProcess.Start();
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
My problem is the following:
I'd like to make my standard Form completely transparent. To do that I set TransparencyKey property to BackColor:
private void Form1_Load(object sender, System.EventArgs e)
{
this.TransparencyKey = this.BackColor;
}
This way the form in fact becomes transparent, but when it is shown, there is a short black flicker until the background gets transparent. A way I figuered out to get rid of that is to set the BackColor to pure black, too:
this.BackColor = Color.Black;
But this is no satisfying solution. To figure out what was going on I replaced the OnPaintBackground function with my own one, which simply does nothing:
protected override void OnPaintBackground(PaintEventArgs e)
{
//empty
}
The result is a black background. This background doesn't appear when BackColor is set to black as mentioned above. Does this happen on your machines, too? If this is a generic malfuncion: How can I circumvent this for any Color?
Thanks,
3Dizard
btw: I'm using visual studio .net 2002 on Windows XP SP1
|
|
|
|
|
3Dizard wrote:
I'd like to make my standard Form completely transparent
Have you tried changing the Opacity level to 0?
- Nick Parker My Blog | My Articles
|
|
|
|
|
I think he's actually trying to make the form background itself transparent without making the controls on the form transparent.
"A people that values its privileges above its principles soon loses both." -- Dwight D. Eisenhower
|
|
|
|
|
That's right! I just want the background to be transparent. So, does this black flicker just happen to me or can someone reproduce it with, as mentioned in my initiating posting, just setting the TransparencyKey to BackColor, or does everything work right for you?
|
|
|
|
|
Please tell me about how can i use TAPI 3.X in managed codes or C#. I want to make a project like PABX which route, record and dial calls and persist on hard disk.
Please send me sample code, articles or book names etc.
Thanks You
Zeeshan
|
|
|
|
|
Zeeshan Gulzar wrote:
Please tell me about how can i use TAPI 3.X in managed codes or C#.
There may be problems using TAPI 3, however there is a sample for using TAPI 2 in C# on GotDotNet here[^].
- Nick Parker My Blog | My Articles
|
|
|
|
|
I periodically have 2 odd things happening within Visual Studio 2003; both regarding the forms designer. I belive both are VS bugs, but there are no updates available for me to pull down and I was wondering if others have seen this behavior before:
First, within the solution explorer, sometimes all of my form files will get their icons changed from the little blue form to a green c# class file. Once this happens, any attempt to open a form will result in only opening the code. If I simply make a tiny edit to the base class name within the class definition and then change it back (change Form to Form2 and then back to Form), the icon fixes itself and then I can edit the resource.
The second odd thing I sometimes see is that a form that I had been editing 2 minutes earlier suddenly reports: An error occurred while loading the document. Fix the error, and then try loading the document again. If I simply close Visual Studio and reopen it, then I'm able to edit this form.
Has anyone else seen this oddity?
|
|
|
|
|
Is it possible to create a VS.NET addin providing a feature similar to Microsoft's IntelliSense? I don't want to add it inside a textbox in a project of mine, but inside the VS.NET code editor.
I got lost in the extensibility reference. Which events should I listen to to react to code editing?
|
|
|
|
|
LorenzoDV wrote:
Is it possible to create a VS.NET addin providing a feature similar to Microsoft's IntelliSense?
Yes, there are companies that create such a product, Whole Tomato[^] comes to mind. There are many articles on MSDN and CP that cover writing add-ins, do a seach and see what you come up with.
- Nick Parker My Blog | My Articles
|
|
|
|
|
I have a program, I want to run it when it is been actived. others, it is stoping.For example, it do something when it is visible, each other, it do nothing.
|
|
|
|
|
Your statement makes little of no sense, could you reword it and ask again. Do you have a specific C# question?
- Nick Parker My Blog | My Articles
|
|
|
|
|
For example: There has a thread in my application. I run my application's two instance on my machine at the same time. The thread need work normally if it is actived,be contrary to, the thread need not work.
|
|
|
|
|
hi,
I am in a big problem now. I despiratly want help from your side. i will explain what is my intension.
I developed one product (duration more than an year). Now i am faceing serious piracy problem. It is my bread and butter(It is my own product). so i can't leave this sort of piracy as simple.
First Problem.
I want to re-design my product which will run only for 20 times after installation. I least bothered whether user will use 20 times in a day or 20 times with in a month or 20 times in an year. It won't work after 20 times.
What is the perfect method which will keep a step ahead from all registry editing or date changing or anything which help the end user to extend the functionality of this product more than 20 times. Please tell me how can i achive this from my product's piracy issue.
Second Problem.
I will burn my product into a CD and i will gave it to the customer. Once he installed this product he can't even re-install it again. (If the user got any problem on the time of first installation.Then i will replace the CD). What i mean is if he try to install after 20 days or something it won't even allow the user to complete the second time installation.
One more thing is there A customer may have more than a computer which may or may not in a network. My requirement is, after the first installation the software i need to block the new installation on same machine ,new installation on another machine which may or may not in same network, new installation of any machine which is formated and installing as a fresh.
For acheving this i need to put some logic in CD apart from the Setup file. I don't know what sort of software i need to burn on the time of burning the setup file.
Please help me out.
**************************
S r e e j i t h N a i r
**************************
|
|
|
|
|
sreejith ss nair wrote:
What is the perfect method which will keep a step ahead from all registry editing...
No such thing... No matter what you use to protect your software, it will be broken within a month of your releasing it...
There is no one product that will give you all of the functionality your talking about. You can Google for "developer application copy protection expire" and come up with thousands of products, issues, and hacks for them, to "protect" your software.
It'll take you at least another year to develop a solution on your own. The issues and methods are just too complex...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
hi,
This is called suggection. i don't need suggection , i want small tips or idea or any lead to get a solution. What you wrote is right.
Why hackers are hacking software ?
For the above question you will get different answers.
How hackers are hacking ? This question is importent.
Answer is simple " they are putting little more innovative idea to hack the software ".
according to me they are the right programmers.
Our discussionis different. so i am not getting into hacking or craking s/w.
In current IT worl nobody is taking effort to find a technologies hidden part.
Every one wil find what the product manual says.
It's too very bad.
**************************
S r e e j i t h N a i r
**************************
|
|
|
|