Results 1 to 6 of 6

Thread: Debugging multi-project groups (VB6)

Threaded View

  1. #5
    PowerPoster wqweto's Avatar
    Join Date
    May 2011
    Location
    Sofia, Bulgaria
    Posts
    6,202

    Re: Debugging multi-project groups (VB6)

    > Might removing the RunNow exe trigger interactive debugging in the RunNow project?

    So you have RunNow project in your project group and expect on RunNow.Execute False, fred to be able to Step Into (F8) into Execute method but instead you get a type mismatch error on F8?

    Try passing Nothing instead of fred variable i.e. try stepping into RunNow.Execute False, Nothing -- there is no conversion happening at callsite so any type mismatch error must originate from Execute method.

    Edit: Using project groups is super convenient but requires some preparation and engineering discipline to be able to take advantage of the IDE conveniences.

    1. You must forget on using cross-project types. What this means is that if you have projJohn project with public clsJohn class you just cannot use this data-type on public methods of projRunNow or any other one i.e. Execute method cannot have second parameter declared as Info As projJohn.clsJohn but should be "relaxed" to Info As Object. You can cast the param to any strongly typed reference inside the method though but just keep the projRunNow typelib from using external data-types other than VBA (e.g. Collection, etc.), ADODB (e.g. Recordset, etc.) or any other reference you will use only in binary and which will rarely be recompiled if at all.

    2. You must compile your project in binary compatibility mode in topological order. This means that although public typlibs are not intermingled (can be browsed/viewed/used/referenced as stand-alone typelibs) the projects have to be kept in layers so that bottom layers do not reference upper ones to be able to compile the whole solution (eventually).

    3. For the IDE to not crawl to a halt you have to open your group with projects in project compatibility mode and immediately run it to finish symbol tables population. This reduces IDE intellisense population time and generally might be the only option to use the code editor in bigger projects (with lots of classes) and to be able to even run it without getting out of memory errors.

    cheers,
    </wqw>

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width