Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
kb:com_compatibility_issues_vb6 [2013/11/05 16:05]
milano
kb:com_compatibility_issues_vb6 [2013/11/05 16:06] (current)
Line 8: Line 8:
  
  
-Kako se rešava ? +Na ovom primeru razmatraće ​se situacija sa **BLRManufSif.dll** bibliotekom.
- +
- +
-1. Ako zvirnemo u //TypeLib// (i uvek samo tamo) u potrazi za potrebnom bibliotekom (npr. BLRManufSif.dll) videćemo da je tamo  registrovane više verzije: x.a, x.b i x.c.  X.C je najnovija. +
- +
- +
-2. Pogledamo isti ključ na MSRV i vidimo da je tamo samo najnovija verzija X.C. +
- +
- +
-3. Obrišemo "​viškove"​ u registru u kom smo ih našli (x.a i x.b)  +
- +
- +
-4.  +
-Guala !  Problem sa DLL kompatibilnosti rešen ! +
- +
- +
-Zašto ?+
  
  
 +**Kako je rešeno ?** \\ 
 \\  \\ 
-Pretpostavimo da je CopyOf.. nastao u doba dok je bila aktuelna verzija X.Aneke komponente od koje zavisimo. U međuvremenu verzija se popela na X.Ckoji nije sasvim kompatibilna sa X.A. Šta će se desiti ?\\ +1. Ako zvirnemo u TypeLib (i uvek samo tamo) u potrazi za BLRManufSif.dll-om videćemo da su tamo registrovane 3 verzije: x.a, x.b i x.c.  X.C je najnovija.\\  
 +2. Pogledamo isti ključ na MSRV i vidimo da je tamo samo najnovija verzija X.C.\\  
 +3. Obrišemo "​viškove"​ u registru u kom smo ih našli (x.a i x.b)\\  
 +4. Guala !  Problem sa DLL kompatibilnosti rešen !\\  
 +\\  
 +\\  
 +**Zašto ?** \\  
 +\\  
 +Pretpostavimo da je CopyOf.. nastao u doba dok je bila aktuelna verzija X.A neke komponente od koje zavisimo. U međuvremenu verzija se popela na X.C koji nije sasvim kompatibilna sa X.A. Šta će se desiti ?\\ 
 \\  \\ 
 DLL za održanje kompatibilnosti pokušava da nađe otisak revizija X.A i ako u tome uspe uporediće ga sa sadašnjim i utvrditi da ne valja. Kako je to neočekivano,​ i poruka je blesava.\\ ​ DLL za održanje kompatibilnosti pokušava da nađe otisak revizija X.A i ako u tome uspe uporediće ga sa sadašnjim i utvrditi da ne valja. Kako je to neočekivano,​ i poruka je blesava.\\ ​
-Onda se ja dosetim i obrišem iz registra podatak da je uopšte registrovana X.Averzija. Sada se DLL pali, gleda u registru da li postoji X.A, vidi da  nema, pa onda kako ima instrukciju da traži novije verzije, pronalazi X.C. Njegov otisak uspešno upoređuje sa tekućom registracijom i sadržajem DLL-a i sve je u redu.\\ ​ +Onda se ja dosetim i obrišem iz registra podatak da je uopšte registrovana X.A verzija. Sada se DLL pali, gleda u registru da li postoji X.A, vidi da nema, pa onda kako ima instrukciju da traži novije verzije, pronalazi X.C. Njegov otisak uspešno upoređuje sa tekućom registracijom i sadržajem DLL-a i sve je u redu.\\ ​
-\\  +
-Ukratko...grešku ovog tipa  "DLL or OCX compatibility can't find...bla,​bla..."​ po pravilu možeš rešiti na ovaj način.+
 \\  \\ 
 +Ukratko...grešku ovog tipa  "DLL or OCX compatibility can't find...bla,​bla..."​ po pravilu možeš rešiti na ovaj način.\\ ​
 \\  \\ 
 \\  \\ 
-Šta još može da se nađe ?\\ +**Šta još može da se nađe ?** \\ 
 \\  \\ 
-Ovo  nije opasno jer je GUID drugačiji, ali ponekad se može desiti da u  potrazi za DLL-om, po imenu, naiđeš na "​ostatak"​ stare registracije. ​ Obično će verzija biti znatno manja od tekuće, kažem, i GUID će biti  drugačiji, ali može da zbuni.\\  +Ovo nije opasno jer je GUID drugačiji, ali ponekad se može desiti da u potrazi za DLL-om, po imenu, naiđeš na "​ostatak"​ stare registracije. Obično će verzija biti znatno manja od tekuće, kažem, i GUID će biti drugačiji, ali može da zbuni.\\  
-Da  bi bio siguran da se radi o "​duhu",​ obrišeš podatak o registraciji ​ (samo verziju) ponovo registruješ komponentu i proveriš da li se podatak ​ o registraciji vratio. Ako nije, obrišeš ceo ključ.+Da bi bio siguran da se radi o "​duhu",​ obrišeš podatak o registraciji (samo verziju) ponovo registruješ komponentu i proveriš da li se podatak o registraciji vratio. Ako nije, obrišeš ceo ključ.
  
  • kb/com_compatibility_issues_vb6.txt
  • Last modified: 2013/11/05 16:06
  • (external edit)