Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

Com+ Create compile error

Posted on 2003-10-31
6
Medium Priority
?
265 Views
Last Modified: 2010-04-05
Hi,

I have a COM+ component that was written in VB6.

I am trying to use it in Delphi 6, however when I compile I get the error "Not enough actual parameters" on this line:

      oMailer := TMail.Create;

The constructor that was imputed from the object's type library looks like this:

constructor TMail.Create(AOwner: Component);
begin
  inherited Create(AOwner);
{$IFDEF LIVE_SERVER_AT_DESIGN_TIME}
  FProps := TMailProperties.Create(Self);
{$ENDIF}
end;

Now I know that the constructor needs a parameter and I haven't provided one but I have know2 idea what to pass as a parameter.  I have tried a couple of things and each gives some sort of error in the compile.

Any suggestions?

Do you need more information?

I know this is probably an easy question but I need help ASAP.

Gary
0
Comment
Question by:Gary4
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
6 Comments
 
LVL 17

Accepted Solution

by:
geobul earned 1500 total points
ID: 9657991
Hi,

Have you tried without a owner?

oMailer := TMail.Create(nil);

Regards, Geo
0
 
LVL 1

Author Comment

by:Gary4
ID: 9658959
Didn't remember so I tried it again.

Now it gives the error message "Incompatible types: '_mail' and 'TMail'"

Now what?

Maybe I should mention that I'm quite new to Delphi.  Been a long time VB programmer and have done Pascal prior to Object Pascal.  Never done C++ so low-level COM things are new to me also.
0
 
LVL 17

Expert Comment

by:geobul
ID: 9661231
It's difficult to say something without the actual code and definitions. What is '_mail'? What is the 'oMailer' type? Where does that error appear - at the same line? And when - compiling or executing?
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 17

Expert Comment

by:Wim ten Brink
ID: 9667182
Ehm, could this be a class name conflict? I've had similar issues once where I had two units that both declared a class with the same name. And while I expected that I used the correct class, I actually got the wrong one every time. Took me two days to solve the problem!
And the solution is simple. If you have two units with the same class names, use the unit as prefix for the class name. Thus:

oMailer := MailUnit.TMail.Create;

Assuming your class is defined in unit MailUnit...
0
 
LVL 1

Author Comment

by:Gary4
ID: 9672515
Hi,

Sorry for taking so long to get back.  Putting nil in my test case worked.

However, now I'm getting other errors when setting properties and I'm noticing some warnings in the type library that Delphi created when it imported the VB Dll.

Should I open another thread to resolve these issues?

Gary
0
 
LVL 17

Expert Comment

by:geobul
ID: 9672806
I think so. One question per thread is a rule here. When you give your next question a proper title other experts will join also. And I'm afraid I wont be of much help going deeper in COM. On the other hand Workshop_Alex might help you here. Wait one more day at least before closing this thread.

Regards, Geo
0

Featured Post

Concerto Cloud for Software Providers & ISVs

Can Concerto Cloud Services help you focus on evolving your application offerings, while delivering the best cloud experience to your customers? From DevOps to revenue models and customer support, the answer is yes!

Learn how Concerto can help you.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A lot of questions regard threads in Delphi.   One of the more specific questions is how to show progress of the thread.   Updating a progressbar from inside a thread is a mistake. A solution to this would be to send a synchronized message to the…
In this tutorial I will show you how to use the Windows Speech API in Delphi. I will only cover basic functions such as text to speech and controlling the speed of the speech. SAPI Installation First you need to install the SAPI type library, th…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.
In this video, Percona Solution Engineer Rick Golba discuss how (and why) you implement high availability in a database environment. To discuss how Percona Consulting can help with your design and architecture needs for your database and infrastr…
Suggested Courses

722 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question