:)
Prvo, da li TEBI treba i jedna i druga verzija, ili interno nekoj biblioteci koju koristis? Drugo, kako to mislis "menjati PATH .dll-va"?
Ovo prvo pitam u smislu da li ti licno ucitavas DLL-ove u aplikaciju, imajuci pritom potpunu kontrolu nad nacinom kako to radis (i mogucnost da proveris kad si koji DLL ucitao), ili neka biblioteka (Indy?) to radi sama za sebe, na uobicajeni ili neki specifican nacin.
Ako sam ucitavas i koristis DLL-ove, onda nema problema, mozes ih staviti gde god hoces, i ucitavati odatle. Ipak, pretpostavljam da nemas kontrolu nad nacinom ucitavanja, cim postavljas ovakvo pitanje...? Ako je tako, zanima me kako mislis da program (odnosno ta biblioteka) zna kada je koji DLL ucitala (pa da eventualno ucita drugi, ako joj on treba)? Da li imas nacin da ti to kontrolises (menjajuci izvorni kod te biblioteke, ili vec nekako)?
Ovo drugo me interesuje jer ne znam na sta tacno mislis. Ako se DLL-ovi ucitavaju na uobicajeni nacin (samo ime dll-a, gde se nalazenje putanje ostavlja sistemu), onda gde god da stavis dll-ove uvek ce biti ucitan onaj koji se prvi nadje na putanji pretrage.
Ako nemas mogucnosti da kontrolises kad se i kako koji DLL ucitava, prvo sto mi pada na pamet je pravljenje treceg, proxy DLL-a koji ce nositi isti taj naziv i biti kraj EXE fajla, a druga dva ces imenovati kako hoces i staviti gde hoces - proxy DLL treba da exportuje sve metode koji ce EXE koristiti iz druga dva DLL-a, i da po potrebi ucitava jedan i/ili drugi, i sam poziv koji je njemu upucen prosledjuje odgovarajucem DLL-u.
Druga varijanta je da nekako unutar same aplikacije (EXE) presreces pozive metodama DLL-a (neki hook?), pa da po potrebi ucitavas i podmeces odgovarajuci DLL.
E sad, mozda ne bi bilo lose da nam malo detaljnije opises situaciju/problem koji te je doveo do toga da zelis da koristis dva ista (a razlicita) DLL-a iz istog foldera, mozda postoji prostije resenje...? :)