Color scheme: Light
You are here: start » sl » Dokumentacija » Orodja za Microsoft Access » WKL Forms Object Library » how-to » Prehod aplikacije na izdajo 2.0

Prehod aplikacije na izdajo 2.0

Ta navodila opisujejo, kako aplikacijo Access s kontrolniki WKL prenesete z izdaje 1.x na izdajo 2.0 knjižnice WKL Forms Object Library. V izdaji 2.0 ima knjižnica tipov novo ime. Vsako aplikacijo, ki to ime navaja v kodi VBA ali v sklicih, morate enkrat prilagoditi.

Predpogoji: imeti morate izvorno obliko aplikacije, torej datoteko ACCDB ali projekt, ki ga zgradite z orodjem za gradnjo ali z WKL Office SDK. Datoteke ACCDE ni mogoče spreminjati, zato jo znova zgradite iz njene datoteke ACCDB.

Pregled rešitve

Izdaja 1.xIzdaja 2.0
Ime knjižnice v VBAWklComponentsWklForms
Sklic (Orodja › Sklici, Tools › References)WKL Forms 1.x Object LibraryWKL Forms 2.0 Object Library
ProgID-ji za CreateObjectWklComponents.Texts, WklComponents.Application …WklForms.Texts, WklForms.Application …
Err.Source pri napakah kontrolnikovWklComponentsWklForms
Domorodni zagonski modulWkl.Access.Components.dllWkl.Forms.ObjectLibrary.dll

ID knjižnice, ID-ji razredov in člani kontrolnikov so enaki kot v izdaji 1.68. Obrazci in poročila zato obdržijo kontrolnike WKL z vsemi nastavitvami. Spremeniti je treba le kodo in sklice, ki navajajo ime knjižnice.

Za posameznega uporabnika sistema Windows je lahko registrirana le ena od obeh izdaj. Registracija izdaje 2.0 odstrani registracijo izdaje 1.x, tudi ProgID-je WklComponents.*. Če pozneje znova registrirate izdajo 1.x, ta nadomesti izdajo 2.0. Zato vse aplikacije, s katerimi dela uporabnik, prenesite hkrati.

Postopek

  1. Registrirajte izdajo 2.0 v razvojnem računalniku (Namestitev izdanega paketa). Od takrat ProgID-ji WklComponents.* v tem računalniku niso več registrirani: CreateObject("WklComponents.Texts") in podobni klici se končajo z napako izvajanja 429.
  2. Odprite podatkovno zbirko brez zagonske kode. Med odpiranjem držite tipko Shift, da se zagonski obrazec in makro AutoExec ne zaženeta s starimi sklici.
  3. Preverite sklic. V urejevalniku VBA izberite Orodja › Sklici (Tools › References). Access ob odpiranju podatkovne zbirke prek ID-ja knjižnice poveže sklic z registrirano izdajo 2.0. Če je sklic WKL Forms 1.x Object Library kljub temu označen kot MISSING (v nemškem Officeu “NICHT VORHANDEN”), ga počistite in izberite WKL Forms 2.0 Object Library.
  4. Zamenjajte ime knjižnice v kodi. Izberite Urejanje › Zamenjaj (Edit › Replace), poiščite WklComponents, ga zamenjajte z WklForms in kot obseg izberite Trenutni projekt (Current Project). Tako zajamete deklaracije, kot je Dim tree As WklComponents.WklTreeView, ProgID-je v CreateObject("WklComponents.Texts") in primerjave z Err.Source.
  5. Poiščite ime zunaj modulov. Korak 4 ne zajame besedila, ki ni koda VBA, na primer ProgID-ja v tabeli, poizvedbi ali makru. V predmetih podatkovne zbirke poiščite WklComponents in najdena mesta spremenite enako.
  6. Prevedite. Izberite Razhrošči › Prevedi (Debug › Compile), popravite morebitne preostale vrstice in shranite. Nato iz datoteke ACCDB izdelajte novo datoteko ACCDE.

Projekt, zgrajen iz izvornih datotek

Pri projektu, ki ga zgradite z tools\build\Build-AccessApp.ps1 ali z WKL Office SDK, spremenite izvorne datoteke namesto podatkovne zbirke:

  • V razdelku references datoteke access-app.json spremenite { "library": "WklComponents", "major": 1, "minor": ... } v { "library": "WklForms", "major": 2, "minor": 0 } (access-app.json). Dokler kateri od sklicev navaja WklComponents, se gradnja ustavi s sporočilom.
  • V datoteki source\references.json projekta WKL Office SDK pri sklicu z ID-jem knjižnice {A37D549E-FCD0-48EC-8B14-C7323B747E4F} nastavite "name" na WklForms, "major" na 2 in "minor" na 0.
  • V izvoženih modulih, obrazcih in poročilih zamenjajte WklComponents z WklForms.
  • Znova zgradite projekt. Nova datoteka app-manifest.json v razdelku requires navaja knjižnico WklForms z različico 2.0 (app-manifest.json).

Rezultat

Aplikacija se prevede z WKL Forms 2.0 Object Library, njeni obrazci pa prikazujejo kontrolnike WKL kot doslej. V računalnike uporabnikov jo uvajajte samo skupaj z izdajo 2.0 (Uvajanje aplikacije s kontrolniki WKL v računalnike uporabnikov), in sicer z WKL Bootstrapper 3.1 ali novejšim: šele od različice 3.1 zaganjalnik prepozna aplikacije za izdajo 2.0 in registrira Wkl.Forms.ObjectLibrary.dll, starejše različice poznajo le izdajo 1.x. Aplikacija, ki še ni prenesena, lahko v računalniku z izdajo 2.0 deloma deluje naprej, ker Access njen sklic poveže prek istega ID-ja knjižnice. Vse, kar uporablja ProgID-je WklComponents.* ali primerja Err.Source z WklComponents, pa tam ne deluje. Zagotovljeno je delovanje le z glavno različico, s katero je bila aplikacija zgrajena.

sl/wiki/msaccess/comctl/how-to/move-an-application-to-release-2.txt · Last modified: by Wolfgang van der Stille