Solved

Dynamically loaded ActiveX Control can't be enabled

Posted on 2001-07-25
6
296 Views
Last Modified: 2008-02-01
Hi,

I have an app consisting of a user interface layer, (a series of forms in a standard VB project), a business logic layer, (a series of classes/modules in an ActiveX dll project), and additional user interface controls I have designed myself, (in an ActiveX control project).

The three projects are under development and hence have not been compiled. I am running them as a group project with relevent references defined where necessary.

The ActiveX controls are loaded dynamically at run time, i.e. only when required. (The user accesses one of a number of functions and the relevant screen is loaded as an ActiveX control as a result).

Initially this worked fine but I have done something that prevents the dynamically loaded control from being enabled!!!

The actual code for loading the control hasn't been touched - any clues - is it a project reference/component/properties issue?

Here is the routine for loading the activeX control.

****At top of form code*****
' Used to allow dynamic load of user controls
Private WithEvents FL3IF As VBControlExtender
Private FL3IFX As Object

***Name of user control passed to  routine in format "projectname.controlname"***

Private Sub Showscreen(UC_Name As String)
' -- Load a user control and show it
   
    On Error Resume Next            ' Tidy Up
    FL3IFX.CloseModule
    Me.Controls.Remove "DATA"
    Set FL3IFX = Nothing
    Set FL3IF = Nothing
   
    Set FL3IF = Me.Controls.Add(UC_Name, "DATA")
   
    Set FL3IF.Container = fmeX   ' A frame on main form
 
    With FL3IF
        .Top = 0
        .Left = 0
        .Height = fmeX.Height
        .Width = fmeX.Width
        Set FL3IFX = .object
       
        .Visible = True
        .Enabled = True    ' ****doesn't work!!!!!****
    End With

End Sub


 



 
0
Comment
Question by:G_Evans
6 Comments
 
LVL 4

Expert Comment

by:vindevogel
ID: 6316683
Suggestion: Remove the ON ERROR RESUME NEXT and see where it goes wrong (it'll go wrong on the remove too, but just skip that during debugging)

The ON ... prevents you from seeing the correct error.  See what comes out of it.
0
 
LVL 22

Expert Comment

by:CJ_S
ID: 6316768
Does the property enabled exist?

Also try to move only the enabled property outside the with statement.

regards,
CJ
0
 
LVL 22

Expert Comment

by:CJ_S
ID: 6316769
What exactly is the error btw?
0
IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

 
LVL 8

Accepted Solution

by:
Dave_Greene earned 200 total points
ID: 6316858
Probably a silly question but is "fmeX" - frame enabled?
0
 

Author Comment

by:G_Evans
ID: 6316879
Sorry to waste your time lads, (&/or lasses).

I had somehow set the frame enabled property to 'false'!

I will return to work, tail firmly between legs!!!!!!

(For the record the .enabled property of the FL3IF object was not a supported one, this was being masked by the error handling - cheers!)
0
 
LVL 8

Expert Comment

by:Dave_Greene
ID: 6316886
That was my second question. Glad you got it working...  the frustration is over.. I love it when that happens  :)

Cheers mate!
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Introduction While answering a recent question (http://www.experts-exchange.com/Q_27402310.html) in the VB classic zone, I wrote some VB code in the (Office) VBA environment, rather than fire up my older PC.  I didn't post completely correct code o…
When trying to find the cause of a problem in VBA or VB6 it's often valuable to know what procedures were executed prior to the error. You can use the Call Stack for that but it is often inadequate because it may show procedures you aren't intereste…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

744 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now