|
Potato software wrote: My only idea, which is unfortunately still not clear (regarding implementation) is to write a sort of specification of a COM object : user must write his data-code following that spec. and my application should be able to load available COM objects that fall with particular class and allow the user to select his implementation. Then the application is capable of calling that COM object and retrieving data passed by it.
Well, the above idea is actually clear: Define one (or more) COM interface the user must implement (or expose COM interfaces from within your application).
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Thank you Pallini,
regarding the implementation I am then puzzled. Would it be an IDL file that describes the object interfaces ?
How is it possible let's say for example a Visual Studio C++ user to use an input IDL file in order to create a COM project ?
I can't see such options in the Wizard..
Easy Profiler : a compile-time profiler for C++
www.potatosoftware.com
|
|
|
|
|
You may use the MIDL output files (i.e. source files or type library, depending on the programming language). See, for instance [^].
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
That's what I am looking for. Exactly. The type of info that can be used both in the consumer application (the COM client which is mine) and the COM server to be written by the user in the language he favors.
Thousand thanks.
Easy Profiler : a compile-time profiler for C++
www.potatosoftware.com
|
|
|
|
|
why dont you write the data in a xml-file, and use it as input for the app. Is it too easy?
Stay away from COM because you have to write both interface sides. I like COM very much for dealing with complex Collaboration as Internet Explorer or Networking.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
Hi and thank you for your answer.
The problem is that data is expected to be very very large.
Your idea is good : I can ask the user to gather data in a definite XML schema.
But the goal is to enable the data retrieval and its processing to be , how can I say it, to be streamlined.
Thus if user has a sql database, instead of precessing it into a huge XML file, then passing it to my program , rather the program could ask a COM instance to gather the processed data, one by one and more importantly the program can distribute processing among many CPUs.
I don't know, well the data is expected to be big. or let me create a COM interface because I love it.
Easy Profiler : a compile-time profiler for C++
www.potatosoftware.com
|
|
|
|
|
if you have hugh data you have every time problems. Than it is best to split the data into different files. For instance in binary files (as images) which are stored with a path (or an identifier) in the object data.
Splitting data is always good idea, because you wont work and change all data at one time.
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
my code is:
FILE* f = _wfopen(m_sFilespecW.c_str(),L"w");
size_t no = fwrite(tmp,sizeof(wchar_t),size,f);
fclose(f);
but it shows garbage.
when i change the code to:
FILE* f = _wfopen(m_sFilespecW.c_str(),L"w");
while(*tmp)
{
fputwc(*tmp,f);
tmp++;
}
fclose(f);
it saves the file but in ANSI format. it then fails to load in other function as that function only loads unicode files.
help me i want to save it in UNICODE.
|
|
|
|
|
Hi Qoi,
I believe, before you flush your caracters, you must first write the BOM signature.
I encountered this problem before, but instead of using the windows API like write and open, instead I was
using the STD ofstream data structure, but I think the rule is the same :
first the file is opened in BINARY mode :
ofstream fout;
fout.open(fileTo.c_str(), ios_base::out | ios_base::trunc | ios_base::binary);
Then the BOM is written :
fout.write("\xEF\xBB\xBF", 3); // write UTF-8 Byte Order Mark (BOM)
Followed by your data here before calling close.
Hope this helps.
Easy Profiler : a compile-time profiler for C++
www.potatosoftware.com
|
|
|
|
|
Your first code snippet is probably correct.
You may not have installed the correct language pack to view the unicode characters and so it is showing it as garbage.
In the second case, you need to add a header to indicate that the file is unicode.
In windows the following headers are added -
For UTF-8 encoding the first 3 bytes of the file must be EF BB BF .
For UNICODE encoding the first 2 bytes of the file must be FF FE .
The characters I have shown are hexadecimal.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
hello;
i want to remove page orientation from print setup and make its default to landscape;
how can i do it?;
thanx;
|
|
|
|
|
The PSD_DISABLEORIENTATION value of the Flags member (of PAGESETUPDLG struct) looks promising, see http://msdn.microsoft.com/en-us/library/ms646842(VS.85).aspx[^].
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Is there any way to show/hide the new progress bar? There isn't any function like ShowWindow.
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
CMFCRibbonBaseElement::GetParentWnd() will give you a window...
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
That hides the parent window, which in this case is the status bar of the program. What I need is to hide only the progress bar itself. Maybe I should remove it from the status bar...
Here's how I create it:
m_pMFCRibbonProgressBar = new CMFCRibbonProgressBar(ID_RIBBON_BTN_PROGRESS, 200 );
m_pMFCRibbonProgressBar->SetRange(0, 100);
m_wndStatusBar.AddElement(m_pMFCRibbonProgressBar, "Progress", TRUE);
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
All the time I was looking for a Show method, there was CMFCRibbonProgressBar::SetVisible sitting right there before my eyes. Sometimes I'm dumb.
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
What is the diffrence between LPRECT and RECT . How can we identify the use of these .
|
|
|
|
|
pandit84 wrote: What is the diffrence between LPRECT and RECT . How can we identify the use of these .
Right click on the datatype and select "Go to definition". That should help.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
LPRECT is a pointer to RECT
LP here stands for LONG POINTER, i.e. 32-bit
There is sufficient light for those who desire to see, and there is sufficient darkness for those of a contrary disposition.
Blaise Pascal
|
|
|
|
|
You may also use Visual Basic and have a (politely) happier life.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Hi,
i am enhancing my application to support unicode characters...
Following is my code snippet:
---------------------------------------------------
typedef struct tagTIMEDATE {
DWORD Innards[2];
} TIMEDATE;
(structure being defined by Microsoft.(oledb.h))
typedef struct tagDBID
{
union
{
GUID guid;
GUID *pguid;
/* Empty union arm */
} uGuid;
DBKIND eKind;
union
{
LPOLESTR pwszName;
ULONG ulPropid;
/* Empty union arm */
} uName;
} DBID;
I used the following typedef now:
typedef TIMEDATE DBID;
------------------------------------------
Unfortunately, Compiler throws me an error (c2371) stating DBID is redefined;different basic types..
Previously, it was working fine. its not working after making my solution unicode supporting one in the project settings..
can anyone guide me how to solve this issue?
Thanks,
Rakesh
|
|
|
|
|
TIMEDATE and DBID are reserved datetype so you cant use DBID.
Make typedef TIMEDATE MY_DBID;
Press F1 for help or google it.
Greetings from Germany
|
|
|
|
|
Hi, Karsten
But previously, it was working fine... in the sense, before converting my project settings to unicode...
If so, why is it not working now?
|
|
|
|
|
|
Hi all,
I have made a application in vc-2008 Release mode, but i have made all the debug option true in my code i.e i am able to debug my application in release mode also.
My problem is i want to detect memory leak in my application. I got this code in msdn
#define _CRTDBG_MAP_ALLOC
#include <stdlib.h>
#include <crtdbg.h>
_CrtDumpMemoryLeaks();
but it is mentioned that this code will work only in debug mode....
I am not getting that this code will work for me or not...
Can anybody please tell me? OR, is there any other way of doing so....
Thanks in advance
|
|
|
|