PDA

Vollständige Version anzeigen : Microsoft Common Dialog Control


monaco
10.05.2001, 21:55
Hallo Forum !

Ich schlage mich gerade durch ein Beispiel wo das Steuerelement: Microsoft Common Dialog Control benötigt wird, nur meine Toolbox zeigt es mir nicht ??

Wo oder wie bekommt man das hin ??
Danke+

Sascha Trowitzsch
10.05.2001, 23:12
Wenn das Control OpenDlg heißt:

z.B. OpenDlg.ShowOpen , um den Dialog zur Dateiauswahl zu öffnen.

(...oder .ShowSave zum Speichern)

In OpenDlg.Filename steht danach (...oder davor) der Dateiname.

Ciao, Sascha

Stefan Kulpa
11.05.2001, 04:22
Hallo,

um das Control auswählen zu können, musst Du in der Toolbox auf "Weitere Steuerelemente" gehen und "Microsoft Common Dialog Control" auswählen. Alternativ geht's über das Menü "Einfügen - ActiveX-Steuerelement".

Gruß, Stefan

monaco
11.05.2001, 07:09
Danke Stefan;

Nur dieses Steuerelement steht nicht zur Verfügung ????

Möchte das Beispiel von Microsoft Wiedereinbinden von Tabellen mit ADC realisieren, nur ohne dieses Steuerelement wirds wohl nix !
Vielleicht gibt es noch eine Möglichkeit ?

Stefan Kulpa
11.05.2001, 08:15
Hallo,

also mal unabhängig von dem Microsoft Beispiel: das Common Dialog Control ist fester Bestandteil von Access und VB. Wenn dieses Control nicht zur Verfügung steht, "stimmt was nicht" ...
In der Regel wird mit dem Einspielen des jeweils letzten ServicePacks diese "Unstimmigkeit" bereinigt.
Bis dahin solltest Du prüfen, ob sich die Datei COMCTL32.OCX im Systemverzeichnis befindet - falls ja, wechsle ich ein DOS-Fenster und dort in das Systemverzeichnis und gib folgendes ein:
REGSVR32 /u COMCTL32.OCX
und danach
REGSVR32 COMCTL32.OCX
Falls das dann immer noch nichts hilft, gibt's (wahrscheinlich) bei Microsoft einen entsprechenden Download ...

Als Alternative kann ich Dir nur ein Code-Beispiel anbieten, dass ohne das Control auskommt - in diesem Fall muss lediglich die Stelle im Beispiel mit dem Aufruf der Alternativfunktion ersetzt werden.

Hier findest Du die API-Variante: http://www.vbtipps@kulpa-online.de/vbtipps/Systemdialoge/Page10295/page10295.html

Gruß, Stefan

MarkusR
11.05.2001, 10:03
Also ich halte wegen ständiger Versionskonflikte nix von dem OCX.

Ich empfehle die API

siehe z.B.: http://www.access-paradies.de/Code/TipsUndTricks/Api/DateiDialog/Default.htm , http://www.goetz-reinecke.de/cgi-bin/VBupdown/VBuplist.pl?Start=81&Cmd=pick
(ganz unten)

Sascha Trowitzsch
11.05.2001, 10:27
@MarkusR:

Ich hatte noch nie Versionskonflikte mit dem OCX, obwohl ich es schon in den unterschiedlichsten Umgebungen eingesetzt habe.
Im Gegenteil finde ich es nur eine Notlösung, dass man - wie es in dem API-Beispiel auch der Fall ist - in VB bei Rückgabe von Pointern und Speichern zu Strings greifen muss. Das ist unschön und fehleranfällig. Ich habe zwar die API-Lösung jahrelang ebenfalls ohne Probleme benutzt, aber warum soll man es sich unnötig schwer machen, wenn es eine flexible und einfach zu steuernde OCX hat?

Ciao, Sascha

MarkusR
11.05.2001, 11:59
@Sascha:

doch die Konflikte hatte ich schon, dabei befinde ich mich in einem halbwegs homogenen Netzwerk mit halbwegs einheitlichen Installationen.

Natürlich hab ich das mit der API auch aus Interesse gemacht und mir aus verschiedenen Beipielen ein Klassenmodul gestrickt, das immer weniger Fehler in sich birgt ;)

Da ich keine Setups für die Kunden (die ja alle Inhouse sind) erstelle, vermeide ich OCX sowieso wo es geht.

Andererseits ist die API quasi die Türklingel von Dr.Watson, der dann natürlich jedes "nicht Speichern" bestraft.

Also korregiere ich:
Ich empfehle die API, wenn man keine Setups erstellt :)

Viele Grüße und schönes Wochenende :D

Markus

monaco
11.05.2001, 12:27
Hallo Stefan !

Diese Datei: COMCTL32.OCX befindet sich nicht im Systemordner, habe dann anschliessend SR-1 installiert;
nur bereinigt wurde gar nichts, auf der Hompage von Microsoft habe ich auch nichts passendes gefunden.

Gibts noch Tipps ??
Gruß Robert+

Stefan Kulpa
11.05.2001, 13:19
Hallo Robert,

schau mal hier nach:
http://support.microsoft.com/support/kb/articles/q167/1/21.asp

Gruß, Stefan