out-of-proces COM server/interface
17 отговора
591 прегледа
out-of-proces COM server/interface
Waprosa e sledniqt:
Ako imame COM obekt kym out-of-proces COM server kak mojem da razberem dali obekta(interfejsa) e oshte zakachen kam servera (dali servera e jiv)
------------------------------
I got a COMPILER, and I'm not afraid to use it!
Ako imame COM obekt kym out-of-proces COM server kak mojem da razberem dali obekta(interfejsa) e oshte zakachen kam servera (dali servera e jiv)
------------------------------
I got a COMPILER, and I'm not afraid to use it!
Re: out-of-proces COM server/interface
sigurno si ima formalen nachin ama tva e naj-prostoto deto mi idva na akyla:
ako exeto e umrialo shte poluchish access violation kato se opitash da byzikash com objecta. ta shto ne se probvash s neshto kato (ot c++)
try
{
p->QueryInterface(tuka njakakvi bozi);
}
catch(...)
{
//ako doidem tuk znachi losho :)
//ne polzvai smart pointeri deto se deklarirat s _COM_SMARTPTR_TYPEDEF
//shtoto te hvyrliat exceptions ako komponenta ne ti vyrne S_OK
}
formalnia nachin mozhe da se krie v rovene v GIT ili ROT, ako go otkriesh -- pishi, che mi e interesno ama me myrzi
...tynka laisna maina,
rodna rech lainiana...
ako exeto e umrialo shte poluchish access violation kato se opitash da byzikash com objecta. ta shto ne se probvash s neshto kato (ot c++)
try
{
p->QueryInterface(tuka njakakvi bozi);
}
catch(...)
{
//ako doidem tuk znachi losho :)
//ne polzvai smart pointeri deto se deklarirat s _COM_SMARTPTR_TYPEDEF
//shtoto te hvyrliat exceptions ako komponenta ne ti vyrne S_OK
}
formalnia nachin mozhe da se krie v rovene v GIT ili ROT, ako go otkriesh -- pishi, che mi e interesno ama me myrzi
...tynka laisna maina,
rodna rech lainiana...
Re: out-of-proces COM server/interface
Прав си - просто не бях се замислял. Впрочем аз се отказвам да ползвам СОМ обекти и интерфейси (или поне докато freamework-а на Делфи не стане по грамотен). Направо ми разби фантазаиите на тема колко лено еднот ми ехе ще ползва другото ехе. Както и да е, ша си прайм собствен модел за междупроцесни повиквания и тва е! Нема ЛАБАО!
------------------------------
I got a COMPILER, and I'm not afraid to use it!
------------------------------
I got a COMPILER, and I'm not afraid to use it!
Re: out-of-proces COM server/interface
ne sam mnogo zapoznat kak raboti delphito i kakvi problemi ima to s COM, ama tova s try/catch triabva da raboti perfektno i s nego. a da si pishesh framework sam - poveche vreme shte zagubish ...
НЕ МЕ ЕБЕ КАК Е ВУТЕ, АЗ ГЛЕДАМ ДА СЪМ ДОБРЕ
НЕ МЕ ЕБЕ КАК Е ВУТЕ, АЗ ГЛЕДАМ ДА СЪМ ДОБРЕ
Re: out-of-proces COM server/interface
Ti pa - sql framework nema nujda problema ne e tolkowa slojen :))
inache delfito ne go biwa neshto shtoto negowite mani za pretejawane kontrola warhu sazdawaneto na prozocite i tqhnoto fokusirane e naprawo wbesqwashta - kojto e programiral seriozno znae :))
Primer: Ako nqkoj ospee da nakara frameworka na VCL da syzdade procorec kojto e naslednik na TForm i ima sobstweno kopche na taskbara i na sichkoto otgore da se darji prawilno (koeto kopche se shterakne toq prozorec da se fokusira) da mi se obadi cherpq bira (sreshtu sorce) :))
Are saz zdrawe
------------------------------
I got a COMPILER, and I'm not afraid to use it!
inache delfito ne go biwa neshto shtoto negowite mani za pretejawane kontrola warhu sazdawaneto na prozocite i tqhnoto fokusirane e naprawo wbesqwashta - kojto e programiral seriozno znae :))
Primer: Ako nqkoj ospee da nakara frameworka na VCL da syzdade procorec kojto e naslednik na TForm i ima sobstweno kopche na taskbara i na sichkoto otgore da se darji prawilno (koeto kopche se shterakne toq prozorec da se fokusira) da mi se obadi cherpq bira (sreshtu sorce) :))
Are saz zdrawe
------------------------------
I got a COMPILER, and I'm not afraid to use it!
Re: out-of-proces COM server/interface
Dve programi deto si komunikirat ili programa, koqto, osven glavniq prozorec, da napravi oshte edin, koito da go ima na taskbar-a !?
Komunikaciqta e lesna - mailslot naprimer
Drugoto, neznam... kak tochno shte go izkara na taskbar-a... shoto nqmam komp da probvam, no predpolagam nqma problemi. Shtom na drug ezik (kompilator) stava nachi nqma problem s Delphi-to...
by Waz Gaa
[email protected]
Komunikaciqta e lesna - mailslot naprimer
Drugoto, neznam... kak tochno shte go izkara na taskbar-a... shoto nqmam komp da probvam, no predpolagam nqma problemi. Shtom na drug ezik (kompilator) stava nachi nqma problem s Delphi-to...
by Waz Gaa
[email protected]
Re: out-of-proces COM server/interface
Mda, iavno teia delfopodobni toolove sa mnogo smotani po priroda. Az na vremeto se macheh da vkarvam OCX v PowerBuilder (shtoto na klientite sistemata beshe s PowerBuilder) ta tova izchadie reshavashe ot vreme na vreme da resize-ne ocx-a na 0, 0, 0, 0. Ta triabvashe na vseki event da mu pravia resize obratno shtoto ne znaeh koga shte stane tova.
НЕ МЕ ЕБЕ КАК Е ВУТЕ, АЗ ГЛЕДАМ ДА СЪМ ДОБРЕ
НЕ МЕ ЕБЕ КАК Е ВУТЕ, АЗ ГЛЕДАМ ДА СЪМ ДОБРЕ
Re: out-of-proces COM server/interface
Ако проксито и стъба на обекта са създадени със стандартно маршалване, то при всяка заявка към умрелия обект, ще получаваш HRESULT с грешка стига заявката да се праща по "жицата", т.е. да не е QueryInterface, Addref или Release. На практика ти е достатъчно да работиш нормално с обекта и да проверяваш HRESULT-ите от заявките.
Re: out-of-proces COM server/interface
Ako izpalniavash AddRef, QueryInterface, Release, kakava e razlikata?
НЕ МЕ ЕБЕ КАК Е ВУТЕ, АЗ ГЛЕДАМ ДА СЪМ ДОБРЕ
НЕ МЕ ЕБЕ КАК Е ВУТЕ, АЗ ГЛЕДАМ ДА СЪМ ДОБРЕ
Re: out-of-proces COM server/interface
AddRef и Release са оптимизирани така че по жицата се праща само един пакет на няколко заявки, т.е. проксито има собствен pool от няколко резервирани refcount-а и праща заявка за още няколко refcount-а, когато му се изчерпи pool-а. QueryInterface за даден IID се праща по жицата само до първия успех. След това заявките за този IID се обработват локално от новосъздаденото прокси за IID-а.
Отделно заявките към някои служебни интерфейси от типа на IMarshal се обработват локално от самото прокси защото са необходими за работата на COM библиотеката.
Отделно заявките към някои служебни интерфейси от типа на IMarshal се обработват локално от самото прокси защото са необходими за работата на COM библиотеката.
Re: out-of-proces COM server/interface
Mnogo logichno ama ne go zneh. Merci za informaciata!
НЕ МЕ ЕБЕ КАК Е ВУТЕ, АЗ ГЛЕДАМ ДА СЪМ ДОБРЕ
НЕ МЕ ЕБЕ КАК Е ВУТЕ, АЗ ГЛЕДАМ ДА СЪМ ДОБРЕ
Re: out-of-proces COM server/interface
Problema ne e d Delphi a w VCL
------------------------------
I got a COMPILER, and I'm not afraid to use it!
------------------------------
I got a COMPILER, and I'm not afraid to use it!
Re: out-of-proces COM server/interface
Ami az naprimer moga, ama za ednata bira nqma i komputyra da si wklucha.. :)
Shto se otnasq za towa koeto se kazwa w dolniq posting: "Shtom na drug ezik (kompilator) stava nachi nqma problem s Delphi-to..." - ako beshe taka sega shtqh da pisha driveri na Delphi i hich da ne se mycha s toz Assembler :) Stoto nqkoi raboti stawat samo na nego, i ako goworim za Win, na tochno opredelena negowa realizaciq...
Combine power of Windows CE, ME and NT - Windows CEMENT!
Shto se otnasq za towa koeto se kazwa w dolniq posting: "Shtom na drug ezik (kompilator) stava nachi nqma problem s Delphi-to..." - ako beshe taka sega shtqh da pisha driveri na Delphi i hich da ne se mycha s toz Assembler :) Stoto nqkoi raboti stawat samo na nego, i ako goworim za Win, na tochno opredelena negowa realizaciq...
Combine power of Windows CE, ME and NT - Windows CEMENT!
Re: out-of-proces COM server/interface
Eto edno dokazatelsto, che nikoga ne e veche kasno da poizprosteesh.
"We, who are not as others"
"We, who are not as others"
Re: out-of-proces COM server/interface
Kakvo znachenie ima? Proxy-to shte ti varne greshka, ako server-at e umryal.
Re: out-of-proces COM server/interface
Опа, а замисли ли се че можеш и топлата вода да си изобретиш наново? Е, малко ще е вмирисана и сигурно ще прокапва на хладно, ма нейсе, нали е наше....