DataLinksClass Fenster modal öffnen

06/01/2008 - 07:43 von achim ehlers | Report spam
Hallo NG,

um einen gültigen Connectionstring zusammenzustellen gehe ich folgendermaßen
vor

MSDASC.DataLinksClass oClass = new MSDASC.DataLinksClass();
object oCon = new ADODB.ConnectionClass();
(oCon as ADODB.ConnectionClass).ConnectionString = "Provider=SQLOLEDB.1";

oClass.PromptEdit(ref oCon);

wie bekomme ich es hin, dass das Fenster welches mit oClass.PromptEdit modal
aufgeht.


Gruß
Achim
 

Lesen sie die antworten

#1 Frank Dzaebel
06/01/2008 - 08:43 | Warnen spam
Hallo Achim,

um einen gültigen Connectionstring zusammenzustellen gehe ich
folgendermaßen vor:
MSDASC.DataLinksClass oClass = new MSDASC.DataLinksClass();
object oCon = new ADODB.ConnectionClass();
(oCon as ADODB.ConnectionClass).ConnectionString = "Provider=SQLOLEDB.1";
oClass.PromptEdit(ref oCon);



Also getreu der Technik wie hier:
http://groups.google.com/group/micr...dd3343993e
(ist sicher nicht jedem bekannt)

Beachte auch, dass PromptEdit auch einen Wert zurückgibt, der
true ist, wenn der Benutzer [OK] im Data-Link-Eigenschaften-Fenster
geklickt hat und false, wenn [Abbrechen] angeklickt wurde.

Microsoft spricht hier schon von *modal*, aber Du meinst
natürlich, dass es nicht möglich ist, das Fenster zu verlassen:

"Dieses Dialogfeld wird als ein *modales* Fenster angezeigt.
Daher wird nachfolgender Code, der auf dem Aufruf der
PromptEdit Methode folgt, nicht ausgeführt, bis das
Data link properties Dialogfeld geschlossen wird."

[Wie Aufrufen des OLE DB Dialogfeld Datenverknüpfungseigenschaften in Visual
Basic-Code]
http://support.microsoft.com/kb/286189



wie bekomme ich es hin, dass das Fenster welches
mit oClass.PromptEdit modal aufgeht.



Ja das geht, in Deinem Beispiel wàre es dann:

MSDASC.DataLinksClass oClass = new MSDASC.DataLinksClass();
object oCon = new ADODB.ConnectionClass();
(oCon as ADODB.ConnectionClass).ConnectionString "Provider=SQLOLEDB.1";
oClass.hWnd = (int)this.Handle; // <<- einfügen
bool ok = oClass.PromptEdit(ref oCon);


ciao Frank
Dipl.Inf. Frank Dzaebel [MCP/MVP C#]
http://Dzaebel.NET

Ähnliche fragen