Legacy Graphics

Acest forum este dedicat intrebarilor de Windows API, folosing C/C++
neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Legacy Graphics

Post by neagu_laurentiu » 22 Jul 2011, 15:50

Technologies that are obsolete and should not be used in new applications.
http://msdn.microsoft.com/en-us/library ... 85%29.aspx



User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Legacy Graphics

Post by Ovidiu Cucu » 22 Jul 2011, 17:15

Unde scrie "Technologies that are obsolete and should not be used in new applications"?

User avatar
Marius Bancila
Fondator
Fondator
Posts: 2344
Joined: 11 Jul 2007, 11:45
Judet: Timiş
Location: Timisoara
Contact:

Re: Legacy Graphics

Post by Marius Bancila » 22 Jul 2011, 18:53

Aici: http://msdn.microsoft.com/en-us/library ... 85%29.aspx.
Legacy Graphics

Technologies that are obsolete and should not be used in new applications.
Marius Bancila
Fondator Codexpert, Microsoft MVP VC++
Site personal | Blog

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Legacy Graphics

Post by Ovidiu Cucu » 22 Jul 2011, 19:11

Marius Bancila wrote:Aici: http://msdn.microsoft.com/en-us/library ... 85%29.aspx.
Legacy Graphics

Technologies that are obsolete and should not be used in new applications.
Ah da. E ca si cum matusa mea Tamara mi-ar lasa "legacy" 1000 de hectare iar eu as spune "ah... that are obsolete and should not be used". C'mon!

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Legacy Graphics

Post by neagu_laurentiu » 22 Jul 2011, 19:14

Sunt incluse mai multe tehnologii, uite si aici: http://msdn.microsoft.com/en-us/library ... 85%29.aspx
De cand cu Direct2D (sa ne referim la grafica) era de asteptat. Pana si tutorialul de la inceput a fost adaptat la Direct2D. Din punctul lor de vedere e oarecum corect. Insa tehnologiile vor fi pastrate in sistem, doar ca nu se mai dezvolta.

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Legacy Graphics

Post by Ovidiu Cucu » 22 Jul 2011, 19:26

neagu_laurentiu wrote: Insa tehnologiile vor fi pastrate in sistem, doar ca nu se mai dezvolta.
Aici ai pus punctul pe i.
Cu cativa ani in urma, MS-ul si-a trimis evanghelistii .NET sa scuipe pe COM ca pe Uciga-l Toaca.
Multa lume i-au crezut dar n-au prins pentru ca nu le-a spus nimeni un amanunt: insusi .NET-ul sta bine-mersi pe COM.
No COM, no .NET. ;)

Cryogenic
Membru
Membru
Posts: 55
Joined: 30 Jun 2008, 17:43

Re: Legacy Graphics

Post by Cryogenic » 22 Jul 2011, 22:45

Ovidiu Cucu wrote:...insusi .NET-ul sta bine-mersi pe COM.
No COM, no .NET. ;)
.Net-ul nu sta deloc pe COM, sta bine mersi pe "langa" COMs si nu e nevoie de com pentru ca .Net-ul sa functioneze.
Factul ca .Net ofera compatibilitate cu COM, e total altceva. Aceasta compatibilitate e strict binara si nu e datorata faptului ca .Net ar fi constuit peste COM ci pentru ca .Net poate expune transparent clasele si librariile spre COM cat si invers printr-un set de wrappere create la runtime. (http://msdn.microsoft.com/en-us/library ... 80%29.aspx)

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Legacy Graphics

Post by neagu_laurentiu » 23 Jul 2011, 08:44

Sa zicem ca adevarul e undeva pe la mijloc fiindca sunt si componente ce se bazeaza pe API-uri sistem expuse prin COM (ex: OLEDB, WPF etc).

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Legacy Graphics

Post by Ovidiu Cucu » 23 Jul 2011, 10:11

Eu cred ca nu trebuie sa ne sperie tot ce se scrie prin oaresce documentatie.

Chiar si chestii Win16, declarate de ani de zile sus si tare ca "legacy" si "obsolete" inca mai exista si inca mai sunt folosite (ex. GetProfileString, WM_CTLCOLOR, etc).
A mai aparut intre timp ideea geniala de a declara "deprecated" functii CRT standard :wacko: .
Nu le mai foloseste nimeni pentru ca-s "deprecated"? Hai sa fim seriosi!
Acuma ce ne mai mira ca lui GDI (si probabil in curand la tot ce tine de WinAPI) i s-a pus in frunte stampila "legacy"?

IMO, "legacy", "deprecated" si "obsolete" sunt doar cuvinte dragi celor de la marketing si notate sarguincios de cei de la documentare.
Expresii gen "...are obsolete and should not be used in new applications" (un fel de "Nu va scarpinati copii ca si purecii e vii! Dati-va cu DDT, sa vedeti ce bine e!" :)) nu trebuie luate ad litteram si foarte in tragic de programatorii cu scaun la cap.

BTW. Intr-un forum de .NET, cineva isi marturisea fantezia lui cea mai profunda: microprocesorul cu framework .NET nativ... :D
Nimic nou sub soare. Am auzit pe vremuri o fantezie asemanatoare: microprocesorul cu OLE/COM nativ. :biggrin:

// Deh, fiecare vreme cu fanteziile ei.

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Legacy Graphics

Post by Ovidiu Cucu » 23 Jul 2011, 10:32

Cryogenic wrote:
Ovidiu Cucu wrote:...insusi .NET-ul sta bine-mersi pe COM.
No COM, no .NET. ;)
.Net-ul nu sta deloc pe COM, sta bine mersi pe "langa" COMs si nu e nevoie de com pentru ca .Net-ul sa functioneze.
[...]
Serios? Nu stiam, asa ca intreb:
Atunci cand dai Ctrl+C/Ctrl+V sau faci drag & drop, ce foloseste .NET-ul?
OLE sau o minune dumnezeiasca din The Cloud? ;)

Cryogenic
Membru
Membru
Posts: 55
Joined: 30 Jun 2008, 17:43

Re: Legacy Graphics

Post by Cryogenic » 23 Jul 2011, 12:49

Ovidiu Cucu wrote:
Cryogenic wrote:
Ovidiu Cucu wrote:...insusi .NET-ul sta bine-mersi pe COM.
No COM, no .NET. ;)
.Net-ul nu sta deloc pe COM, sta bine mersi pe "langa" COMs si nu e nevoie de com pentru ca .Net-ul sa functioneze.
[...]
Serios? Nu stiam, asa ca intreb:
Atunci cand dai Ctrl+C/Ctrl+V sau faci drag & drop, ce foloseste .NET-ul?
OLE sau o minune dumnezeiasca din The Cloud? ;)
Precum ziceam: sta pe "langa" COM nu, "peste" COM (Ole, ActiveX, COM+, ce o fi.). Faptul ca .Net poate consuma COM si expune spre COM clase, nu iseamna ca e construit "peste" COM. Pentru ca nu e, pur si simplu .Net-ul are un layer de interoperare cu COM care-l foloseste pentru a interopera cu COM.

Cryogenic
Membru
Membru
Posts: 55
Joined: 30 Jun 2008, 17:43

Re: Legacy Graphics

Post by Cryogenic » 23 Jul 2011, 13:22

Ovidiu Cucu wrote:Eu cred ca nu trebuie sa ne sperie tot ce se scrie prin oaresce documentatie.

Chiar si chestii Win16, declarate de ani de zile sus si tare ca "legacy" si "obsolete" inca mai exista si inca mai sunt folosite (ex. GetProfileString, WM_CTLCOLOR, etc).
A mai aparut intre timp ideea geniala de a declara "deprecated" functii CRT standard :wacko: .
Nu le mai foloseste nimeni pentru ca-s "deprecated"? Hai sa fim seriosi!
Acuma ce ne mai mira ca lui GDI (si probabil in curand la tot ce tine de WinAPI) i s-a pus in frunte stampila "legacy"?

IMO, "legacy", "deprecated" si "obsolete" sunt doar cuvinte dragi celor de la marketing si notate sarguincios de cei de la documentare.
Expresii gen "...are obsolete and should not be used in new applications" (un fel de "Nu va scarpinati copii ca si purecii e vii! Dati-va cu DDT, sa vedeti ce bine e!" :)) nu trebuie luate ad litteram si foarte in tragic de programatorii cu scaun la cap.

BTW. Intr-un forum de .NET, cineva isi marturisea fantezia lui cea mai profunda: microprocesorul cu framework .NET nativ... :D
Nimic nou sub soare. Am auzit pe vremuri o fantezie asemanatoare: microprocesorul cu OLE/COM nativ. :biggrin:

// Deh, fiecare vreme cu fanteziile ei.
Nu inteleg dece atata ofticare pentru ca Microsoft a numit o serie de technologii Legacy. Sunt Legacy pentru ca au fost inlocuite, cea ce inseamna ca pe viitor vor fi pastrate doar pentru compatibilitate. Nu inteleg ce se doreste aici, ca MSDN-ul sa prezinte win api 16 bit pe prima pagina la loc de cinste inaintea a orice, si MS sa recomande folosirea API-ului de Windows 3.1 in defavoarea Direct 2D ?

E cat se poate de normal si firesc sa se recomande folosirea technologiilor noi care au fost concepute pentru a le inlocuii pe predecesoarele lor. Si asta chiar fara nici un fel te tenta de marketing.

Frustrarea vad ca e maxima cand se recomanda inlocuirea unei technoogii cu o alta de ex. GDI cu WPF, dar nimeni nu e deloc frustrat cand se recomanda inlocuirea MFC 7.0 cu 8.0, ba din contra e chiar binevenita. Cand a aparut windows 7 iar pentru construirea de applicatii s-a folosit native se recomanda MFC in loc de WPF nu a fost nimeni asa de ofticat.

User avatar
Ovidiu Cucu
Fondator
Fondator
Posts: 3776
Joined: 11 Jul 2007, 16:10
Judet: Iaşi
Location: Iasi
Contact:

Re: Legacy Graphics

Post by Ovidiu Cucu » 23 Jul 2011, 17:33

Cryogenic wrote: Nu inteleg dece atata ofticare pentru ca Microsoft a numit o serie de technologii Legacy.
Pana sa discutam de "ofticare" (eu unul nu ma oftic, stai fara grija! ;)), hai intai sa lamurim ce-i cu COM-ul asta si daca sta .NET-ul pe el sau nu.

Daca ma uit in MSCOREE.DLL peste care sta bine-mersi aplicatia mea .NET (cel putin asa-mi arata Dependency Walker-ul), ce-mi vad ochii inauntru?
DllRegisterServer, DllGetClassObject,.. Hmmm, looks familiar (te rog nu da click daca ai tensiunea peste 16 cu 10 :D).
Doar coincidenta de nume? Nu prea cred.
Si probabil asta-i doar varful aisbergului. Ce-i sub apa numai ei stiu.
Una dintre specificatiile COM zice cam asa: "nu trebuie sa stie clientul ce marfa tii tu pe sub tejghea". ;)

Alte pareri, informatii de ultima ora?

Cryogenic
Membru
Membru
Posts: 55
Joined: 30 Jun 2008, 17:43

Re: Legacy Graphics

Post by Cryogenic » 23 Jul 2011, 21:02

Ovidiu Cucu wrote:
Cryogenic wrote: Nu inteleg dece atata ofticare pentru ca Microsoft a numit o serie de technologii Legacy.
Pana sa discutam de "ofticare" (eu unul nu ma oftic, stai fara grija! ;)), hai intai sa lamurim ce-i cu COM-ul asta si daca sta .NET-ul pe el sau nu.

Daca ma uit in MSCOREE.DLL peste care sta bine-mersi aplicatia mea .NET (cel putin asa-mi arata Dependency Walker-ul), ce-mi vad ochii inauntru?
DllRegisterServer, DllGetClassObject,.. Hmmm, looks familiar (te rog nu da click daca ai tensiunea peste 16 cu 10 :D).
Doar coincidenta de nume? Nu prea cred.
Si probabil asta-i doar varful aisbergului. Ce-i sub apa numai ei stiu.
Una dintre specificatiile COM zice cam asa: "nu trebuie sa stie clientul ce marfa tii tu pe sub tejghea". ;)

Alte pareri, informatii de ultima ora?
mscoree.dll, contine bridge-ul intre COM si .Net exact prin functia DllGetClassObject. Acesta e entry point-ul prin care COM comunica cu .Net-ul.

Sun curios cum ar putea .Net-ul sa ofere compatibilitate cu COM fara sa expuna vreo interfata COM, daca asta e problema?

Insa de la a "expune" interfete COM, (Si Java poate sa faca asta, sau orice alta technologie care poate sa creze fisiere binare) pana la a fi construit "peste" COM e cale lunga.

"nu trebuie sa stie clientul ce marfa tii tu pe sub tejghea"

Corect, insa .Net tot nu e construit "peste" COM, ci doar interopereaza cu COM.
In afara de faptul ca expune DllGetClassObject, sau alte metode, intrebarea este: Ce componente COM consuma .Net-u? si de care ar fi dependent?

neagu_laurentiu
Membru++
Membru++
Posts: 919
Joined: 23 Jul 2007, 11:32

Re: Legacy Graphics

Post by neagu_laurentiu » 23 Jul 2011, 21:08

Cryogenic wrote:Ce componente COM consuma .Net-u? si de care ar fi dependent?
Am zis mai sus: OLEDB, WPF (via DirectX), dialog-urile (cele noi din Vista si 7) etc.

Post Reply