|
__interface IFileIO : IDispatch<br />
{<br />
[id(1), helpstring("method GetFile")] HRESULT GetFile();<br />
[id(2), helpstring("method getDirectory")] HRESULT GetDirectory();<br />
};<br />
<br />
class ATL_NO_VTABLE EDCService :public IFileIO<br />
{<br />
public:<br />
EDCService()<br />
{<br />
}<br />
DECLARE_PROTECT_FINAL_CONSTRUCT()<br />
HRESULT FinalConstruct()<br />
{<br />
return S_OK;<br />
}<br />
<br />
void FinalRelease()<br />
{<br />
}<br />
<br />
public:<br />
<br />
STDMETHOD(GetFile);<br />
STDMETHOD(GetDirectory);<br />
}<br />
Hi friends ...
STDMETHOD(GetFile);<br />
STDMETHOD(GetDirectory); these two methods definitions are written main.cpp
i doing so many try's to solve this prob..first i create instance of EDCService.like
EDCService edcobj;
then i create instance of EDCService like
edcobj.CreateInstance(); but showing..
When i compile this code i get the follwing errors i dont know how was solve it
error C2039: 'CreateInstance' : is not a member of 'EDCService'
error C2259: 'EDCService' : cannot instantiate abstract class
Please tell me how to solve this problem ..
*****THANKS N ADVANCE****
Mathen.K
(I WILL TRY MY LEVEL BEST )
|
|
|
|
|
use smart pointers as below;
EDCServicePtr edcobj;
edcobj.CreateInstance(.......);
|
|
|
|
|
Thanks 2 your replay ..
i cant understand ..please tell me briefly and also how to use smart pointers..in my class
*****THANKS N ADVANCE****
Mathen.K
(I WILL TRY MY LEVEL BEST )
modified on Monday, March 3, 2008 1:45 AM
|
|
|
|
|
Can you please keep the subject line of your post descriptive? Anything other than PLZZZ HELP, URGENT HELP REQUIRED, PROGRAM NOT WORKING, etc?
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
I want to add a normal menu to ActiveX control, is it possible?
if yes, how to add it?
thx
|
|
|
|
|
Hi again,
Now that I'm using UNICODE app, I'm having an error when I tried to convert CString to int using atoi.
How can I convert CString to int in UNICODE app?
Hope you can comment thank you.
|
|
|
|
|
|
or better yet, use the generic char types (TCHAR) and your code will compile for
both Unicode and non-Unicode builds.
Using Generic Text Mappings[^]
_tstoi() is the generic char function for atoi().
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
TooShy2Talk wrote: Now that I'm using UNICODE app, I'm having an error when I tried to convert CString to int using atoi.
How can I convert CString to int in UNICODE app?
use generic text mapping function _ttoi
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You/codeProject$$>
|
|
|
|
|
Hello everyone,
Why deque does not provide capacity and reserve function?
thanks in advance,
George
|
|
|
|
|
Only vector and string have capacity() and reserve() capabilities as they guarantee contiguous storage. deque doesn't.
|
|
|
|
|
Hello BerlinCanary,
Your reply is clear. Thanks.
regards,
George
|
|
|
|
|
Hi,
I need to convert CString to WCHAR* but I don't know how.
If you know how please tell me.
Your comment will be a big help.
Thank you.
|
|
|
|
|
If your app is UNICODE enabled then CString can be used at the place of WCHAR* by using its str.GetBuffer() function.
If not then use MultiByteToWideChar() function to convert CString to WCHAR*
|
|
|
|
|
Thank you very much to your reply.
It was very helpful.
|
|
|
|
|
In addition to ccpptrain's reply...
If your app is UNICODE enabled then CString has a casting operator so you can use the string anywhere a
const WCHAR* is expected...without having to use GetBuffer().
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Thanks for the time.
It helps a lot.
|
|
|
|
|
Mark Salsbery wrote: .without having to use GetBuffer().
What! No GetBuffer() ? That sucks.
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
Hehe
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Rajesh R Subramanian wrote: What! No GetBuffer()? That sucks.
I know, thats really sucks,, but come handy somewhere!
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow Never mind - my own stupidity is the source of every "problem" - Mixture
cheers,
Alok Gupta
VC Forum Q&A :- I/ IV
Support CRY- Child Relief and You/codeProject$$>
|
|
|
|
|
ThatsAlok wrote: but come handy somewhere!
Not the best thing to have handy while converting a CString to a WCHAR* though.
Nobody can give you wiser advice than yourself. - Cicero
.·´¯`·->Rajesh<-·´¯`·.
Codeproject.com: Visual C++ MVP
|
|
|
|
|
deaa all
my problem is valueX[j] value couldn't change when looping j below. anypne can help me to check? thanks a lot.
int halfSize;
int maskNum[5]={0};
double sigma[5]={0.9,1.3,1.65,1.8,2};
int maskSize;
double sumMask=0;
double T=0.66;
for (int k=0;k<5;k++)
{
halfSize = static_cast<int>(sqrt(-log(T))*2*pow(sigma[k],2));
maskSize = 2*halfSize + 1;
maskNum[k] = maskSize;
int *maskX;
double *mask;
maskX = new int[maskSize];
mask = new double[maskSize];
maskX[maskSize]=NULL;
mask[maskSize]=NULL;
for (int j=0;j<masksize;j++)>
{
maskX[j]=static_cast<int>(maskSize/2)-(2*k+2-j);
mask[j]=(1/sqrt(2*PI)*sigma[k])*exp(-pow(maskX[j],2.0)/2*pow(sigma[k],2.0));
sumMask = sumMask + mask[j];
}
for (int jj=0;jj<masksize;jj++)>
{
mask[jj] = mask[jj]/sumMask;
}
delete [] maskX;
delete [] mask;
}
Li Zhiyuan
|
|
|
|
|
I think it's because of the for loop.
for(int i=0; i<iMax; i++)
i=0 : is the initial value for i where the loop will start.
i<imax :determines the condition if valid to process or when to stop
i++ : is the iteration to change value of i.
without iteration, the value of i remains the same
invalid condition will not do the process
<div class="ForumMod">modified on Sunday, March 2, 2008 10:02 PM</div>
|
|
|
|
|
li zhiyuan wrote: my problem is valueX[j]...
Which you somehow managed to not show.
li zhiyuan wrote: ...when looping j below.
li zhiyuan wrote: for (int j = 0; j < masksize; j++)
So what is the value of masksize ?
"Normal is getting dressed in clothes that you buy for work and driving through traffic in a car that you are still paying for, in order to get to the job you need to pay for the clothes and the car and the house you leave vacant all day so you can afford to live in it." - Ellen Goodman
"To have a respect for ourselves guides our morals; to have deference for others governs our manners." - Laurence Sterne
|
|
|
|
|
Generic Dynamic Array with Sorting Algorithm
Perspective
Understand the use of a generic container in a specific context. Understand efficiency of an algorithm.
Assignment
For the use in a generic library your array should be expanded.
At this point you are not expected to know the impact on the design of the array why the some basic design requirements follows.
• intensive insert and delete operations anywhere in the container
• different kind of sorting algorithms will be used
• first when the application is designed the actual type to be stored is known (and that may be any type)
The customer finds it hard to develop algorithms to sort items in the list. Therefore you are requested to make a sort() algorithm in your list.
Hint: Choose a simple one like insert sort or selection sort; more efficient algorithms like quick sort, heap sort, and merge sort are more complicated to implement (will be covered in a later session).
For each design decision you must argue for your choice, pre-and cons.
Algorithm Efficiency
As part of efficiency measurements you have to analyze the running time (O – notation) of your algorithms, best-case, average-case and worst-case.
Your management wants a comparison among different techniques:
o Sorting a vector (from the STL) using selection sort and quick sort
o Sorting your array using newly developed algorithm
In order to make it possible to compare the different containers/algorithms you must (of course) use the same data to all of them.
a) create a vector with random numbers (v_rand)
b) create a new vector, copy a) hereto and sort it in ascending order (v_ascend)
c) create a new vector, copy a) hereto and sort it in descending order (v_descend)
It may be reasonably to assume that best-case and worst-case may arise if the data is already ordered as b) and c), but this is not always true.
In turn copy a), b) and c) to the container under test and start the measurement:
o start the stopwatch
o do the sorting
o stop the stopwatch and read the time elapsed
In a non-real-time environment (as in your Windows PC) time measurements will not be accurate. Therefore you should relate the measurements e.g.:
J2C++ Mandatory Assignment 3 Spring 207
Data Structures and Algorithm Generic Dynamic Array
time_relation = time(500.000 elements)/time(10.000 elements)
and relate the the corresponding O for the algorithm used e.g.:
O(n2) -> O_relation = (500.000/10.000)2
Compare the time_relation and the O_relation.
Do the calculations lead to expected results? (Eventually why not?)
Tools
ls:
o Selection sort
o Quick sort
o Random.h (0 … 231 -1) [The standard random generator has max. span 0…215-1]
To find corresponding O’s please consult the book Data Structures with C++
o An example in how to use above
Test
The test should be divided into two
1. Test insert and retrieve and delete of a number of elements anywhere in the list
2. Test the efficiency of your sorting algorithm. Estimate the O() with proper documentation (ref. Algorithm Efficiency above)
Documentation
All classes and functions must be documented in such a way that any other software developer will be able to use your solution.
The names of the developers must be stated in the head of all classes together with dates and revision number.
All prototypes of the functions (in header file) should have stated the pre – and post
|
|
|
|