vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen & Antworten rund um sev-Komponenten
Controls.Add 
Autor: Rainer99
Datum: 23.11.05 10:24

Hallo, kann mir jemand helfen?

Wir haben eine VB6-Standardexe, die diverse ActiveX-DLLs aufruft, die ihrerseits verschiedene Formen anzeigen. Ein Teil der Controls dieser Formen wird über eine "Utility"-DLL dynamisch geladen. Beispiel:

SET lblUeberSchrift = frm.Controls.ADD("sevXPcontrols.sevlabel. "lblUeberschrift"."ContainerName")

Alle "Form"-Dlls verwenden diese "Utility"-DLL.

Die Anwendung läuft unter Win2000 und WinXP ohne Probleme!

Dagegen erhalten wird unter Win98 (SE) bei der Ausführung des "Set"-Commands, manchmal auch erst kurz danach (dann werden Eigenschaften des dynamisch geladenen Controls gesetzt ) den Laufzeitfehler "13 Typen unverträglich".

Wir haben im ersten SET-Command das "sevXpcontrol.sevLabel" durch ein "VB.Label" ersetzt und haben mit dme dynamischen Laden diese Controls keinerlei Probleme, bleiben dann aber mit o.a. Fehlermeldungen beim

SET cmdSchliessen = frm.Controls.add("sevCommand.roCommand", "cmdSchliessen", "ContainerName") hängen.

Aus Vorgesagtem schliessen wir, das unser Problem unter Win98 mit den sevLables und den roCommands zusammenhängt.

Hat irgendjemand eine Idee, was man machen kann um den Laufzeitfehler zu beheben?

Wir sind für jeden Hinweis dankbar.

Rainer

Code-Snippet:

 Public Sub PbxHeadLoad(frm As Object, pbxHead As Object)
 
    MsgBox "pbxHeadLoad fr " & frm.Name
 
    On Error GoTo ERROR_EXIT
 
    pbxHead.Width = frm.ScaleWidth
    pbxHead.Left = 0
    pbxHead.BackColor = cParms.PbxHeadBackcolor
 
    '* lblUeberschrift laden
'* 
' *****************************************************************************
' *******************
'* sevLabel durch vb.Label ersetzen, da sevLabel crashed
'    Set lblUeberschrift = frm.Controls.Add("sevxpcontrols.sevLabel", 
' "lblUeberschrift", pbxHead)
'    With lblUeberschrift
'        .AutoSize = True
'        .Transparent = True
'        .Font.Size = 11
'        .Font.Italic = True
'        '.Font.Bold = True
'        .XPStyle = True
'        .ForeColor = vbWhite
'        .ForeColorOnMouseMove = vbWhite
'        .Caption = "????????????????"
'        .Left = 200
'        .Top = (pbxHead.Height - .Height) / 2
'        .Visible = True
'    End With
 
 
    MsgBox "pbxHeadLoad VOR Set lblTest"
    Set lblTest = frm.Controls.Add("vb.Label", "lblUeberschrift", pbxHead)
    MsgBox "pbxHeadLoad NACH Set lblTest"
    With lblTest
        .ForeColor = vbWhite
        .Caption = "????????????????"
        .Left = 200
        .Top = (pbxHead.Height - .Height) / 2
        .Visible = True
    End With
'* Ende sevLabel ersetzen
'* 
' *****************************************************************************
' *******************
 
    '* cmdSchliessen laden
    MsgBox "pbxHeadLoad VOR Set cmdSchliessen"
 
    Set cmdSchliessen = frm.Controls.Add("sevCommand.roCommand", _
      "cmdSchliessen", pbxHead)
    MsgBox "pbxHeadLoad NACH Set cmdSchliessen"
 
    With cmdSchliessen
        .btnLook = Color
        .btnStyle = Flat
        .btnType = btnUser
        .PicturePos = PictureLeft
        Set .PictureUp = frmHeadTemplate.cmdSchliessen.PictureUp
        Set .PictureDown = frmHeadTemplate.cmdSchliessen.PictureDown
        Set .PictureDis = frmHeadTemplate.cmdSchliessen.PictureDis
        .Height = 315
        .Width = 315
        .Top = (pbxHead.Height - .Height) / 2
        .Left = pbxHead.ScaleWidth - .Width * 2
        .BackColor = pbxHead.BackColor
        .BackColorDown = pbxHead.BackColor
        .ToolTipText = "Schliessen"
        '.TabStop = False
        .Visible = True
    End With
    '* cmdHelp laden
    Set cmdHelp = frm.Controls.Add("sevCommand.roCommand", "cmdHelp", pbxHead)
    With cmdHelp
        .btnLook = Color
        .btnStyle = Flat
        .btnType = btnUser
        .Caption = "?"
        .Font = "Arial"
        .FontSize = 14
        .FontBold = True
        .Height = frm("cmdschliessen").Height
        .Width = frm("cmdschliessen").Width
        .Top = frm("cmdschliessen").Top
        .Left = frm("cmdschliessen").Left - .Width - (.Width / 4)
        .BackColor = pbxHead.BackColor
        .BackColorDown = pbxHead.BackColor
        .ForeColor = vbWhite
        .ForeColorOnMouseMove = vbWhite
        .ToolTipText = "Hilfe anzeigen"
        '.TabStop = False
        .Visible = True
    End With
 
 
    Set timTimer = frm.Controls.Add("vb.timer", "timer1", pbxHead)
    DoEvents
    timTimer.Enabled = True
    timTimer.Interval = 300
 
    Exit Sub
    '======'
ERROR_EXIT:
    cUtils.RuntimeError "ClsFormutils", "PbxHeadLoad", Err.Number, _
      Err.Description
End Sub
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Controls.Add965Rainer9923.11.05 10:24
Re: Controls.Add549Rainer9923.11.05 10:40
Re: Controls.Add563Rainer9930.11.05 10:43

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel