Hai nu te supara acuma. E ok ca aduci contributii la sectiunea asta de tutoriale, chiar apreciem toti chestia asta.
Trebuie doar sa fii atent ce sfaturi dai pentru ca poti face uneori mai mult rau decat bine.
Citesc frecvent blogul unui tip de la Microsoft, Raymond Chen (
The Old New Thing), care a lucrat inca dinainte sa fie Windows acolo, si deseori sunt uimit de cate artificii si improvizatii trebuie sa faca Microsoft pentru a pastra compatibilitatea cu programe care se folosesc de chestii nedocumentate.
De exemplu, cand au facut trecerea de la Windows 95 la Windows 98, programatorii au facut un sistem mai bun de Control Panel, insa au observat ca foarte multe drivere video crapau la instalare.
Testand driverele au observat ca in timpul instalarii, in spatele ferestrei de setup, programele respective deschideau applet-ul de Display Properties, cautau Tab-ul Settings, dadeau click pe tab-ul ala, dadeau click pe Advanced Settings si apoi bifau o optiune acolo. Aceste chestii nu erau necesare deoarece Microsoft oferea functii API pentru a bifa chestia aia, dar programatorii nu au fost suficient de interesati sa caute functiile.
In Windows 98, nu au mai dat la clasa ferestrei de la Display Properties acelasi nume ca pe Windows 95 (de ex in loc de "cpl_wndDisplay" i-au zis "wndDisplayProps") si pentru ca installerele nu mai gaseau numele clasei crapau.
Programatorii au trebuit practic pentru compatibilitate sa incarce o fereastra invizibila care avea numele clasei acelasi cu windows 95, fereastra asta captura click-urile, incarca fereastra noua si le pasa mai departe.
Ce vreau sa zic este ca tot acest cod NU era necesar, dar MS au fost nevoiti sa il adauge pentru compatibilitate cu drivere stricate de programatori prosti. Insa, nu erau obligati.
La fel ca in cazul de fata, daca multi vor face cum zici tu, Microsoft poate va fi in viitor obligat sa suporte tehnica asta nedocumentata doar pentru ca site-uri si programe sa nu crape (normal ca se da vina pe Microsoft).
Nu e bine si nu e frumos sa faci asa programe si site-uri, bazandu-te ca MS va suporta la infinit chestii nedocumentate, si in acelasi timp sa nu te gandesti ca poate userul foloseste altceva in loc de MS Excel.