Konecne to funguje. Naposledy jsem se vam ozval na tomto blogu 8.12., od te doby se toho mnohe stalo..Snazil jsem se to udelat jinak nez jsem mel, uplne si rozhodil spaci rezim(spal jsem vice nez jsem byl vzhuru,tak dlouho protoze to vzdy bylo i v zimni bunde, ale ted uz to snad bude v pohode), vypadla mi plomba. Prvne jsem naprogramoval Form ktery vidite na obrazku.
Tu mi nefungovalo ladeni(program se zastavoval jinde nez mel) a to vsechno jen proto ze jsem mel nastavenou vystupni 32bit konfiguraci na 64bitovem OS. Druhy problem byl ze se mi vlastnost ItemCheck vyvolavala vzdycky az pri druhem zaskrtnuti/odskrtnuti. Nakonec jsem si uplne rozhodil nastaveni VC#, protoze jsem tam pomenil ruzne veci, ktere jsem k tomuto problemu nasel na netu. Uz nevim jak me to napadlo nebo kde jsem si to precetl, ale vyresetoval jsem veskere nastaveni VC#, vytvoril jsem si novy projekt, vlozil do nej soubory a ono se to rozjelo.
Vec 2) – prekvapilo me ze program ktery v Debugu startoval diky vyjimkam skoro minutu v Release najel skoro okamzite. Problem se kterym jsem se potykal predtim byl ten ze uz nevim proc jsem chtel tu kontrolu zda nektere projekty nejsou na sobe vzajemne zavisle delat jen jednou pri kompilaci. Zel se mi porad nedarilo prijit na vhodny srovnavaci algoritmus. Nakonec jsem ten algoritmus ve jednodussi podobe udelal v tom formu – pokud se snazite zaskrnout projekt, u ktereho by v jeho zavislostni rade pak nebylo mozno urcit ktery je na kterem zavisly, hned vas to upozorni a nedovoli vam to zaskrtnout.
Pak uz jsem na metodu ktera mi ty projekty srovna podle toho jak jsou na sobe zavisle prisel a taky jsem jen trochu upravoval prikaz pro kompilaci aby mi umel zkompilovat libovolne mnozstvi projektu. Nakonec jsem si trochu hral s XML a zjistil jsem ze v .NETu nejde pouzit metoda xpath.Evaluate(“boolean(path)”), musi se zvolit uzel metodou xdoc.SelectSingleNode a pak kontrolovat zda je null.
Prikladam zdrojovy kod formu ale moc toho v nem neni, ta hlavni logika je jinde, tam je opravdu jen sotva par radku. A na co jdu ted? Ted jdu na startovaci projekty – tedy ktere zkompilovane exe se maji spustit po uspesne kompilaci, muze to byt bud projekt naposledy editovaneho souboru/fixne jeden projekt/fixne vice projektu. Doufam ze nad tim nestravim cele mladi jak nad temi zavislostmi projektu a problemy ktere jsem tam musel resit.