Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
kb:com_compatibility_issues_vb6 [2013/11/05 15:05] – milano | kb:com_compatibility_issues_vb6 [2013/11/05 15:06] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 8: | Line 8: | ||
- | Kako se rešava ? | + | Na ovom primeru razmatraće |
- | + | ||
- | + | ||
- | 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 " | + | |
- | + | ||
- | + | ||
- | 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 " | ||
+ | 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, | 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, | ||
- | 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, | + | |
\\ | \\ | ||
+ | Ukratko...grešku ovog tipa "DLL or OCX compatibility can't find...bla, | ||
\\ | \\ | ||
\\ | \\ | ||
- | Š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 " | + | 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 " |
- | Da bi bio siguran da se radi o " | + | Da bi bio siguran da se radi o " |