Re: OCX aktualisieren (comctl32.ocx > mscomctl.ocx) ?



Hallo Oliver
Sorry, aber ich fürchte das kapier ich nicht. Wo liegt mein Denkfehler?

Entferne mal bei einer Kopie den Verweis auf das ocx und kompiliere Dein
Projekt,

Das Projekt enthält nur die benötigten Veweise "Visual Basic for
Applications", "Access 9.0" und "DAO 3.6"

Listview-Controls sind vorhanden, da auf Form gezeichnet. Auflistungen wie
z.B. "ListItems" werden als "Object" deklariert und per Code aus der DB
gefüllt.

Wenn ich "LateBinding" richtig verstehe, dann müsste der Code ungefähr
folgendermassen aussehen, da die Instanz des Controls erst zur Laufzeit
erstellt werden soll, nicht?

Dim myLstView As Object, lstItem As Object

Private Sub Form_Load()
Set myLstView = CreateObject("MSComctlLib.ListViewCtrl.2")
Set lstItem = myLstView.listItems.Add(, , "TEXT")
debug.print lstItem.index
End Sub

Bis dahin funktioniert das (debug.Print liefert 1). Egenschaften wie
"Height", "Width", "Visible", etc. können so jedoch nicht gesetzt werden, da
das Control ja physisch gar nicht existiert?

Evtl. wäre ein Link hilfreich der mir die Thematik erläutert.

Dank nochmal
Wolfgang

"Oliver Straub" <oliver.straub_NoS@xxxxxx> schrieb im Newsbeitrag
news:eUCpY9mcHHA.4392@xxxxxxxxxxxxxxxxxxxxxxx
Hallo Wolfgang,

. Mir scheint allerdings der Aufwand auf LateBinding umzustellen
im Augenblick mangels echtem Druck zur Umstellung zu gross, da
augenblicklich (fast) alle Eigenschaften über die Eigenschaftsseiten der
OCX'e vorgenommen wurden. Wenn ich das richtig sehe, wirkt sich der
Vorteil
deines Vorschlags erst bei zukünftigen, also der auf die "Erstumstellung"
folgenden Updates der Controls aus?

nein, die Eigenschaften die Du eingestellt hast brauchen keinen Verweis
zur Bibliothek. Das ActiveX-Control erzeugt eine Instanz der registrierten
Klasse, die Informationen dafür kommen vom System (Windows). Entferne mal
bei einer Kopie den Verweis auf das ocx und kompiliere Dein Projekt, dann
siehst Du ja wo Du auf Informationen aus der Bibliothek zugreifst.
Datentypen müssen dann durch Object ersetzt werden, und die Konstanten
musst Du als Public Const im Projekt selber anlegen. Wenn Du parallel eine
Mdb offen hast, die den entfernten Verweis noch enthält, kannst Du schnell
mit copy&past im Direktfenster dieser Mdb den Wert abfragen. Wenn Du nur
mit copy&past arbeitest, dann ist so eine Umstellung ein Vorgang, den man
völlig ohne Hirn bewerkstelligen kann. (Konstante kopieren, erst die
Public Const Zeile anlegen, dann den Wert abfragen, den Wert kopieren und
beim Public Const einfügen, dann wieder kompilieren, ...) Das kann man als
kurze Pause zwischendurch durchziehen. Das kann auch einer machen, der
keine Ahnung davon hat, was er da tut. Beim einhalten der QS sind Fehler
ausgeschlossen. :-)


Gruss
Oliver






.



Relevant Pages

  • Re: Pfade und der Development Server
    ... Projekt machen wir alles anders... ... im Repeater bindest. ... Da empfehlen sich eigene Controls. ... Markup auf den Response-Stream ...
    (microsoft.public.de.german.entwickler.dotnet.asp)
  • Re: Verweise =?ISO-8859-15?Q?konfigurationsabh=E4ngig=3F?=
    ... deshalb davon aus, dass kein Verweis besteht. ... Sogar ohne gelbes Ausrufezeichen. ... Entlade ich das Projekt und lade es neu und schalte wieder auf ... In der Debug-Konfig weiterhin derselbe ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • Re: Frage zu Referenzen auf referenzierte DLL
    ... Macht .NET bzw. das Visual Studio in gewisser Weise auch. ... Wenn Du ein Objekt verwenden willst, zu dem eine Referenz fehlt, kommen zum einen die Warnungen und Kringelmarkierungen im Quellcode, und zum anderen lässt sich das Projekt auch gar nicht kompilieren. ... "bring das Papier zum Materiallager" und in einer Liste Eintragen ... Wenn Du etwas essen willst, musst Du es Dir erst einmal auf den Teller legen (den Verweis ins Projekt einfügen). ...
    (microsoft.public.de.german.entwickler.dotnet.vb)
  • Re: Wie Interop-Assemblies neu erzeugen
    ... > - im Studio den Verweis auf die alte COMponente entfernen, ... > die neue Version der COMponente installieren/registrieren (mit zB ... im Projekt den Verweis auf die neue COMponente wieder ...
    (microsoft.public.de.german.entwickler.dotnet.framework)
  • RE: Common Language Runtime Debugging Services
    ... > Ich habe ein VB.NET Projekt mit einigen Forms, Controls ... > Starte ich die Applikation auf einem Testrechner, ...
    (microsoft.public.de.german.entwickler.dotnet.vb)