18. april 2003 - 20:56Der er
4 kommentarer og 1 løsning
Om objekt-referencer
Hvis man skal bruge en control i Visual Basic, fx Common Dialog, går man sædvanligvis ind i components, og add´er den til projektet.
I dag gik et lys op for mig, da jeg læste et indlæg. En anden måde at lave en common dialog er at bruge:
----------------------- Dim CmnDialog As Object
Set CmnDialog = CreateObject("MSComDlg.CommonDialog") CmnDialog.showopen -----------------------
Det er jo helt fantastisk. Men hvordan fanden i anden skulle jeg vide hvad referencen var til objektet("MSComDlg.CommonDialog"), hvis jeg ikke tilfældigvis havde læst det?
Fra mit perspektiv er der to muligheder:
1) Der er en overskuelig og brugbar liste til al den slags et eller andet sted.
2) Dette er ældgamle hemmeligheder, som kun nedarves i den mundtlige overdragelse fra hviskende tunger; kun de privilegerede kender til disse gådefulde objekt-referencer, så derfor er det vigtigt at lytte når de viise beslutter sig for at afsløre endnu en hemmelighed.
AI skal væves ind i kultur og processer for at skabe reel forretningsværdi
Slettet bruger
18. april 2003 - 22:17#1
Det er ikke pænt at oprette en instans af en CommonDialog vha. CreateObject - det smarteste er at tilføje referencen via Project/Components, som du selv nævner. Hermed forsøger applikationen at "binde sig til" referencerne under opstart, i stedet for at gøre det, når den når til en linje med CreateObject.
Mht. at finde navne som "MSComDlg.CommonDialog", kan du gøre det at du tilføjer en reference til en given komponent i et VB Project og trykker F2. Her vil du blive præsenteret for en Object Browser, der viser alle de tilgængelige objekter og bibliotekter i projektet. Har du eksempelvis tilføjet CommonDialog til dit projekt, vil du øverst (i en combobox) have mulighed for at vælge et element, kaldet "MSComDlg" (også kaldet et bibliotek/library). Herunder findes nogle klasser - heriblandt "CommonDialog" (klasse). Ved at finde de to elementer, kan du så nå frem til at du vha. CreateObject kan bruge "MSComDlg.CommonDialog" til at oprette en instans af denne klasse (syntaksen er altså "biblioteksnavn.klassenavn".
Så siger jeg tak - selvom jeg ikke bruger mine points til noget som helst. ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.