|
A poor man's hack would be to insert __asm int 3 somewhere in the code. That will trigger windows into invoking a debugger. You will get a dialog asking you what to do: debug or quit. Choose debug, and use the running instance of VS.NET to debug. It's not pretty, but it works.
As for starting and quiting outlook: you'll have to learn to live with it. Outlook will lock your add-in dll while it's loaded, making it impossible to link the dll while it's running.
--
Not Y3K Compliant
|
|
|
|
|
Using DebugBreak is the slightly more portable version. It does mean that the debugger stops inside the DebugBreak function rather than in the calling function, so you need to do a Step Out when the debugger stops.
|
|
|
|
|
I am trying to use the settings.designer.cs file for a value that needs to be put into the app.config file.
My config(auto-generated by VS2005) file now looks like this:-
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="Settings1" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</sectionGroup>
</configSections>
<applicationSettings>
<General.Settings1>
<setting name="DatabasePath" serializeAs="String">
<value>C:\Web\App_Data\Messages.mdb;</value>
</setting>
</General.Settings1>
</applicationSettings>
</configuration>
In the C# code i am trying to access this property by this code:
Settings1 set = Settings1.Default;
string str = set.DatabasePath;
return str;
The above line of code returns null.can anyone explain what am i missing here?
|
|
|
|
|
hi Shilpa,
how to access a COM component developed in vc++6.0 from ASP.net?
what r the issues need to be considered in this case??
Thanks in advance.
Prashanth.v
|
|
|
|
|
hi experts,
I'm quite new to the topic of COM and Automation and I have a few basic problems and questions:
I modified my existing MFC application to a multithreaded Automation server with the help of a tutorial i found on http://www.codeproject.com/com/mfc_autom.asp and made it via coinitializeex running as multithreaded, the application is a .exe
and lateron call COleTemplateServer::RegisterAll(),
but when I try to get an active instance via hr=GetActiveObject(clsid) I get as result: 0x800401e3 operation unavailable
and if i try to create a new instance via
hr=::CoCreateInstance(clsid, NULL, CLSCTX_LOCAL_SERVER, IID_IApplication1, (void**)&m_IApplication))
it returns the active instance instead of creating a new one
I also use another project with automation and there getactiveobject and cocreateinstance works fine
I think as COleTemplateServer::RegisterAll() returns TRUE it should correctly register my objects with the ROT (which if not, could be the reason for getactiveobject returning an error) or am I wrong?
So has anyone an idea how I become it working to getactiveobject() returning the active object and cocreateinstance() creating a new one
with best regards Stefan Buchner
|
|
|
|
|
Hi guys,
This activex control has optionals parameters for GetData method:
this.axWinsock1.GetData(ref object data,object type,object maxlen)
i tried these:
object rec= string.Empty;
object type = 0;
object maxlen = 0;
this.winsock.GetData(ref rec, type, maxlen);
or
object rec= string.Empty;
object type = string.Empty;
object maxlen = string.Empty;
this.winsock.GetData(ref rec, type, maxlen);
but all i get is "Unsupported variant types" error message, do you know how to call this getdata method in c#? i know if you call it in vb.net you dont need to pas optional parameteres.
Please help
|
|
|
|
|
Don't use this control in C#. Instead, use the System.Net.Sockets.Socket class, or the TcpClient , UdpClient , TcpListener classes which are a little more friendly to use.
The data you get from the socket will be in raw bytes. You will need to use one of the System.Text.Encoding classes to turn text from the byte-oriented wire format into a string . As a starting point, try Encoding.Default .
|
|
|
|
|
ActiveDocument gives error whenever i open any existing document..
CType(applicationObject, Word.Application).CustomizationContext = CType(applicationObject, Word.Application).ActiveDocument
CType(applicationObject, Word.Application).ActiveDocument.Saved = True
"You can do any thing you set to your mind" - theGhost_k8
|
|
|
|
|
oh !! i missed out the important part..
well this works fine when i go:- start-> run-> winword
it works fine when i go with debuging..
but if i run existing document by double clicking... it gives error .. specifying activeDocument not exist..
"You can do any thing you set to your mind" - theGhost_k8
|
|
|
|
|
Hai,
I am Installing an application after building .But at the time of Installation ,i got following error ,
Error 1309.Error Reading from file:
C:\Windows\Downloaded Installations\
{FD9A9617-3D4A-4B1A-BA58-D87368B26335}\prograam files\SaleMask\...\nanaDisp.exe.
Verify that the file exists and that you can access it.
Any one please help me to recognize the problem and solving the same.
Thanks in advance
Jeeva
|
|
|
|
|
Jeeva Mary Varghese wrote: Verify that the file exists and that you can access it.
As error says, verify it.
|
|
|
|
|
Prasad,
Yes the files are existing and they are not in read Only.
Jeeva
|
|
|
|
|
Can you run the nanaDisp.exe manually ?
Darka [ Xanya]
"I am not a slave to a god that doesn't exist."
|
|
|
|
|
well, there is a html file with this : ( I'll call it codez)
I want to do something before the someFunction() is called;
but,firstly,I must tell you that I only want to deal with the Event just when the onLoad is to be called,or being called. I don't want to deal with the event in DWebBrowserEvents2 with BeforeNavigate2 event,etc.
Following the MSDN, I found HTMLWindowEvents2, I thought DISPID_HTMLWINDOWEVENTS2_ONLOAD can be triggered when the codeZ is executed.But, disapointed, I can just get DISPID_HTMLWINDOWEVENTS2_ONUNLOAD and DISPID_HTMLWINDOWEVENTS2_ONBEFOREUNLOAD .
Whenever and Whatever html I visit,DISPID_HTMLWINDOWEVENTS2_ONLOAD is never received .
so. Can anybody help me???Maybe I should implements another interface??
Than you !!!!
|
|
|
|
|
Hi All,
I call a function fun()which is defined in X.dll .
the below is the code which is simillar to actual code.
when i execute i get as exception.
// sample.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "iostream.h"
#include "iomanip.h"
#include <algorithm>
#include <vector>
void fun(long **a);
int main(int argc, char* argv[])
{
long *amount = NULL;
fun(&amount);
long *ptr = amount;
for (int i = 0; i<5 ;++i,++ptr)
{
cout<< *ptr <<endl;
}
="" delete="" []amount;="" here="" i="" get="" an="" exception="" when="" try="" to="" delete.
="" return="" 0;
}
void="" fun(long="" **a)
{
="" *a="new" long[5];
=""
="" std::vector<long=""> var;
var.push_back(5);
var.push_back(6);
var.push_back(65);
var.push_back(58);
var.push_back(57);
std::vector<long>::iterator i;
int k = 0;
for(i= var.begin();i != var.end();++k, ++i)
{
(*a)[k] = *i;
}
}
the fun() is defined in the X.dll
Please let me know why i get an exception when i use delete []amount.
The same code works in the normal app, but when same mechanism is used in dll it does'nt work. the above code runs perfectly. i have the same code in the dll, the fun() is defined in the dll and the main() is in the application from which i use the interface to access the fun().
Thanks in advance..
Thanks & Regards,
Dhana
|
|
|
|
|
Why you are repositng same[^] question, asked few days back ? Doesn't that solve your problem ?
And what is there in this question related to COM?
|
|
|
|
|
Thanks for the solution and also to your concern..
Though that solved the problem..my actual problem is in the com component i am using. i thought i should put this question in the COM message board. i have given the exact scenario, the fun() is present in the COM Dll. If memory is allocated in the DLL using 'new' can i 'delete' the same in the application outside the dll?
Thanks & Regards,
Dhana
|
|
|
|
|
jana_dhana wrote: i have given the exact scenario, the fun() is present in the COM Dll.
Its not COM dll, its simple dll.
jana_dhana wrote: If memory is allocated in the DLL using 'new' can i 'delete' the same in the application outside the dll?
Yes, but you are incrementing base address, and then deleting it.
Adopt method given in my previous solution to access the pointer.
|
|
|
|
|
jana_dhana wrote: If memory is allocated in the DLL using 'new' can i 'delete' the same in the application outside the dll?
Yes, and no. Yes, if you use the same version of the C/C++ runtime libraries [in .exe and .dll], and if the pointer is passed between DLL and application without going through a marshaled interface (which is next to impossible to determine, given only an interface pointer).
My advice to you is to allocate memory using CoTaskMemAlloc and CoTaskMemFree. This way you don't have to worry about which heap (different runtime libraries use different heaps) the memory was allocated on.
--
Transmitido en Martian en SAP
-- modified at 17:29 Wednesday 18th October, 2006
|
|
|
|
|
Thank You Very Much..Your Suggestion helped me very much.
Thanks & Regards,
Dhana
|
|
|
|
|
For COM memory allocation, use CoTaskMemAlloc CoTaskMemAlloc[^]
For deallocation, use CoTaskMemFree[^]
S o h a i l K a d i w a l a
To Err Is Human; to Debug, Divine
modified 21-Apr-21 21:01pm.
|
|
|
|
|
Thank You...
Thanks & Regards,
Dhana
|
|
|
|
|
Hi All,
We have a project which is standard exe. Our new requirement is to convert it into a COM application. I would like to know what are the minimum steps required to make a standard exe application (that is make minimal changes to existing code)into a COM one. Any links or suggestions would be most welcome.
Thanks
C++beginer
|
|
|
|
|
I have to ask why you want a 'COM application'. Generally the only reasons for exposing existing code as COM objects are to support OLE linking and embedding, or to offer an automation interface to allow your program (and its data) to be manipulated by another application.
If you simply want to write some COM objects which run in another process context, with no user interface, you generally don't start from an existing program. If I were starting from scratch in C++ I would use the ATL AppWizard to generate a new EXE project.
The easiest way to support the first two requirements - OLE and/or Automation - will depend on the language and libraries you have used to produce your application. If you're already using MFC, you will probably want to use MFC's OLE support, which is based around the CDocument class. See the Servers: Implementing a Server[^] topic in MSDN Library.
If you're using C++ but not MFC you may find ATL helpful. However, it's pretty complex for a beginner.
|
|
|
|
|
Actually its a requirement from the client. The existing app is used as a component manager. It is used to start/stop/activate/deactivate etc other modules. Now the client is changing the interfaces of the other modules. And we will have to use those changed interface. So its not a question of converting an exe to com, rather we have to make it a com server. How we do it is left to us. Either we can start from the scratch (that will be lot rework) and build a com application or use the existing one, make the necessary changes with respect to com standards and run it as a com server. I hope you got the point.
C++beginer
|
|
|
|