Home |
Search |
Today's Posts |
|
#1
![]()
Posted to microsoft.public.excel.programming
|
|||
|
|||
![]()
Have you tried running the dll-project code in the VBIDE and stepping
through. Start with Excel closed, put a break on your entry point, press F5. Open your xls and run (normally the ref will pick up the .vbp). Regards, Peter T "bad_boyu" wrote in message oups.com... Thanks, but I did not manage to find the problem. It is very hard to locate the problem, because the Excel workbook use a reference to my dll, so I can not use debug. Is there a rule when you pass objects and collections to a function,procedure? Is there a rule when you call a function, procedure that has arguments: objects and collections? Thanks, O Chip Pearson wrote: To help determine the exact location of the error, ensure that you have your error trapping set to "Break In Class Module". In VBA, go to the Tools menu, choose Options, then the General tab. Set the "Error Trapping" setting to "Break In Class Module". It is most likely that the actual error is within one of the classes, and you have your error trapping set to "Break on unhandled errors". If you don't have the error trapping set to "Break In Class Module", the code will blow up on the line that accesses the class, not on the line of code within the class that is, in fact, causing the error. -- Cordially, Chip Pearson Microsoft MVP - Excel Pearson Software Consulting, LLC www.cpearson.com "bad_boyu" wrote in message ps.com... Hy, Let's say I have a dll made in VB6. This dll contains 3 class modules(ClassA, ClassB, ClassOper) and one module(MyFunctions). In MyFunctions I have a function like this: Public Function DoSome(collecFirst as Collection, collecSecond as Collection, objA as ClassA, objB as ClassB) as Double. In ClassOper I have the function: Public Function DoSomething(collecFirst as Collection, collecSecond as Collection, objA as ClassA, objB as ClassB) as Double If (IsValid) Then DoSomething = DoSome(collecFirst, collecSecond, objA, objB) Else DoSomething = -10000 End Function I have an Excel woorkbook that use this dll. Let's say I have a macro in Excel called TestDll Public Sub TestDll() Dim myOper as ClassOper Set myOper = New ClassOper MsgBox myOper.DoSomething(myCollecFirst, myCollecSecond, myObjA, myObjB) End Sub When trying to run TestDll I get the following error: "argument not optional Error 449" Can somebody help me with this? (I hope that my example I good..) Thanks and best regards, O |
Reply |
Thread Tools | Search this Thread |
Display Modes | |
|
|
![]() |
||||
Thread | Forum | |||
Compile Error Argument Not optional | Excel Discussion (Misc queries) | |||
Compile Error: Argument not optional | Excel Programming | |||
error message: compile error, argument not optional | Excel Programming | |||
optional argument in a function | Excel Programming | |||
Complie Error- Argument not optional | Excel Programming |