Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 19:47 27.09.24 
Компютри и Интернет
   >> Delphi
Всички теми Следваща тема *Кратък преглед

Страници по тази тема: 1 | 2 | >> (покажи всички)
Тема Midas, AppServer i DCom  
Автор VladoVasilev (непознат )
Публикувано17.06.04 23:59



Iskam da izpolzvam Midas arhitektura, suotvetno imam clienti i edin AppServer (Interfase i suotvetnia mu coclass, kakto i RemoteDataModule). Ot clienta kum servera se vruzvam s DCOMConnection. Problema e che DCOM-a ne raboti, t.e ako clientskoto i server prilojeniata sa na razlichni komputri, ne moga da osushtestvia vruzka. Niakoi pravil li e neshto podobno. Do kolkoto znam, triabva da se pusne na clientskia komputer niakakva f-cia, koiato da registrira AppServer-a i na clientskia komputer, no ne znam kakva.



Тема Re: Midas, AppServer i DComнови [re: VladoVasilev]  
Автор SDR (TaskMaster)
Публикувано23.06.04 10:23



A zamislql li si se dali klientite ti shte znaqt?

------------------------------
I got a COMPILER, and I'm not afraid to use it!


Тема Re: Midas, AppServer i DComнови [re: SDR]  
Авторsev_co (Нерегистриран)
Публикувано17.08.04 15:59



Za da raboti trqbwa da startirash surwurvurnata programa na vsqko pc, no koeto polse ste wurwi clienta (i da q zatworish :P) taka servera se registrira sam. ima i drug nachin, no pak trqbwa servera da se copira na wsqko edno clientsko pc i w command line da se napishe putq do nego, imeto mu i opciq /regserver za registrirane i /unregserver za unregwane :PP
primer c:\myserver\srv.exe /regserver



Тема Забавлявам се с Midas...нови [re: VladoVasilev]  
Автор VladoVasilev (минаващ)
Публикувано17.11.05 10:46



Този Midas направо ме разсипа, без него сигурно бих си умрял от скука и монотонност пред любимия компютър - добре че има clubs.dir.bg. Значи, ето докъде я докарах :
Имам 3 компютъра - PCWIN2K-1, PCWIN2K-2, PCWINXP. Първите два са с WIN2000, третия - с WinXP. Имам си и моето клиент-сървър приложение. И на трите компютъра съм качил и клиента, и сървъра. Сега експериментирам:
1. Пускам клиента на PCWIN2K-1 и му казвам да се върже към сървъра на PCWIN2K-2, няма проблем - клиента се връзва и програмата работи в мрежа -евала!
2. Пускам клиента на PCWIN2K-2 и му казвам да се върже към сървъра на PCWIN2K-1, пак няма проблем - клиента се връзва и програмата работи в мрежа.
3. Пускам клиента на PCWIN2K-1 и му казвам да се върже към сървъра на PCWINXP, няма проблем - клиента се връзва и програмата работи в мрежа .
4. Пускам клиента на PCWIN2K-2 и му казвам да се върже към сървъра на PCWINXP, няма проблем - клиента се връзва и програмата работи в мрежа .
5. Пускам клиента на PCWINXP и му казвам да се върже към сървъра на PCWIN2K-1, има проблем - при стартиране на клиента, сървъра, който се намира на PCWIN2K-1 също се стартира (значи връзка има), обаче Delphi-то на PCWINXP хвърля exception "INTERFACE NOT SUPPORTED" (теста правя по следния начин: на клиентското приложение имам DataModule, вътре в него - DCOMConnection, през който става връзката, съответно на DCOMConnection.ComputerName давам "PCWIN2K-1", DCOMConnection.Conected = true, и тогава се появява exception-a.
6. Същото става ако пусна клиента на PCWINXP и му кажа да се върже към сървъра на PCWIN2K-1
-------------------------------------------------------------------------
През DCOMCNFG-то съм дал пълни права на accounts SYSTEM, INTERACTIVE, ADMINISTARTOR...пуснал съм навсякъде GUEST-a, общо взето мрежата ми е като разграден двор, незнам дали някой ще има проблеми да прави вътре каквото си иска, освен моето клиент-приложение. Явно XP-то забранява на лиента да работи през DCOM, ама защо и откъде се настройва това?
В началото ми даваше друга грешка при опит за връзка - "THE RPC server is unavailable" - четох малко в google, написах в конзолата "regsvr32 ole32.dll" на компютъра с клиентското приложение, после и на този със сървърското и проблема изчезна - някои програми при uninstall явно unregister-ват този dll и оттам се получава проблема, остава обаче другия...та някой ако може да помогне как да се оправя с това XP....ще му останат благодарностите :)



Тема Re: Забавлявам се с Midas...нови [re: VladoVasilev]  
Автор NickBass (бас-програмист)
Публикувано18.11.05 09:53



Да ти кажа честно и аз не успях да се справя преди време с този проблем, но така или иначе аз работя с FireBird и не ми трябва MIDAS. Съхранените процедури и изгледите правят Application Servera излишен - тоест бизнес логигата ми е изведена в базата. От MIDAS има файда (според мен), само ако ще пишеш система, в която да има опция за това каква да е БД. Демек, ако клиента иска да си купи Oracle - ти имаш версия на Application Server-a за Oracle, ако пък не ще да плаща и иска безплатна БД- ти имаш версия за FireBird и т.н.



Тема Re: Забавлявам се с Midas...нови [re: NickBass]  
Автор VladoVasilev (минаващ)
Публикувано18.11.05 16:11



Доста обнадеждаващо...не може да няма решение - без много да разбирам, струва ми се че проблема е някъде в правата на XP-то....Имам и още един проблем с MIDAS: пробвам да се вържа през HTTP с TWEBConnection. Връзката се осъществява. Искам обаче да предам на сървъра връзка към клиентското Library (Сложил съм го за обратна връзка, например с идеята сървъра да откачи всички киенти):

var
OC : IInterface;
begin
OC:=TInterface.Create;
CID:=WEBConnection1.AppServer.SetCallback(OC);
.....
end;
и резултата на клиента е exception : "Unsupported variant type: 4009". A от WinXP-то към друг компютър през TWEBConnection вообще не става. Web-servera, който ползвам е Apache 2.0.53....Any ideas?



Тема DComнови [re: VladoVasilev]  
АвторЙopдaн (Нерегистриран)
Публикувано18.11.05 21:04



По принцип този линк е най-често цитиран за помощ за DCOM:
http://www.distribucon.com/dcom.html



Тема Re: Забавлявам се с Midas...нови [re: VladoVasilev]  
Автор NickBass (бас-програмист)
Публикувано19.11.05 10:44



Хммм... Заинатил си се значи с този MIDAS! Да, решение винаги има, но аз нямах нерви да се боря с недоразуменията в XP-то. И права раздвах в Component Services, но XP-то така и не спря да ме "рита" с exception-и. С TWebConnection не съм пробвал да се вържа. Радвам се, че ти си успял. За сорса: фрагмента, който си постнал не ми е достатъчен да добия представа за проблема. Странно ми изглежда това - CID := ... CID от какъв тип е? Би трябвало да е OleVariant, за да не те навиква още компилатора. OC:=TInterface.Create звучи твърде абстрактно.

P.S.

Нека и някой друг да помага, че аз не съм особено полезен май.



Тема Ето и решение на част от проблемите...нови [re: NickBass]  
Автор VladoVasilev (минаващ)
Публикувано20.11.05 11:25



Решенията са за WinXp, понеже там ми бяха напоследък проблемите.
1. DCOM :
- "Тhe RPC server is unavailable" - проблемът се получава най-често когато клиента е на WinXP. Решенията:
* В C:\WINDOWS\SYSTEM32 трябва да имате следните два файл-а: ole32.dll и stdvcl32.dll - ако някой от тях липсва, намерете го някъде (примерно на инсталационното СD, интернет или от друг компютър) и го копирайте в C:\WINDOWS\SYSTEM32. След това отворете конзолата (Start Menu->Run и тук пишете cmd) и напишете последователно "regsvr32 ole32.dll" i "regsvr32 stdvcl32.dll". Проблема е, че при uninstall някои програми Unregister-ват или дори изтриват тези 2 .dll-та. Това е едната възможност
* Във Fireqall-a на WinXP (Start Menu->Settings->Control Panel->Windows Firewall), на първия таб дайте On (Recommended), на втория - Add Program-> и тук добавяте вашето клиентско приложение; Add Port->Name="Midas"; Port="135".
* Ако и това не стане - Start menu->Run и тук пишете "dcomcnfg", за да стартирате DCOM-конфигуратора, в лявата част на появилият се експлорър Избирате Component Services->Computers->My Computer, дясно копче, Properties, Com Security. Оттук на Acces Permisions-> Edit Limits, давате всички възможни права на Annonymous Logon. После на Edit default, добавяте SYSTEM, INTERACTIVE, EVERYONE (или ако сте си направили отделна група потребители за въпросния софтуер, добавяте само нея вместо EVERYONE, останалите две са задължителни), ANNONYMOUS LOGON и им давате всички права. Същото правите и в долния Group Box (Launch and activation permissions), като тук в "Edit Limits" e много вероятно акаунта "ANNONYMOUS LOGON" вообще да не фигурира, в този случай първо го добавете. Дйте му пълни права! Проблема се получава с WinXP->Sevice Pack 2, който изтрива от тук акаунта "ANNONYMOUS LOGON" от "съображения за сигурност" :). Това се прави на клиентския компюър. За компютъра, на който е сървър-а(ако е на ХР), Component Services->Computers->My Computer->DCOM Config->избирате вашия AppServer, ако сте го регистрирали трябва да фигурира тук, ако ли не - регистрирайте го например като стартирате самото приложение. Tук на Permissions добавете гореописаните акаунти със пълни права по начина, по който беше описано по-горе. Проблемите ви би трябвало да приключат!
----------
Бях писал за следната грешка "Interface not supported", когато през Delphi стартирам клиентското приложение (нa WinXP), на съответния DComConnection избера ComputerName=PC2 (т.е. друг компютър) и после Connected=true, въпреки че на другия компютър сървъра се стартира (т.е връзка през DCOM-a ima). Проблема явно е в информацията за Type Library-то, която се пази в регистъра - понеже сървър-приложението го има инсталирано и на ДВАТА компютъра, явно Delphi нещо се бърка, все още не знам защо?? Факт е, че когато стартирам самото .exe на клиента от WinXP-то, и вътре в source-то дам "ComputerName:=PC2;Connected=true;", всичко е наред - връзвам се към remote-сървъра и си бачкам.
---------------
Относно NickBass - CID ми е идентификатор на поредния клиент, който се връзва към сървъра - integer, генерира се нa самия сървър, уникален във всеки един момент. Тва вече ми трябва за логиката на приложението, няма общо с връзката. Нещо не е наред май с Apache-то, настройки....WebConnection-a си се връзва, но когато извикам метода WEBConnection1.AppServer.SetCallback(ОС); се получава "Unsupported variant type: 4009", дори и сървъра и клиента да са на ЕДИН И СЪЩИ компютър....
Засега толкова по темата, ако разбера как става това ще пиша;
И ако някой има проблеми с DCOM под Win2000 ли Win98, може спокойно да пита - аз лично прахосах достатъчно време, може поне на някой друг да го спестя :)



Тема Re: Забавлявам се с Midas...нови [re: VladoVasilev]  
Автор Formal (незнаещ)
Публикувано21.11.05 13:04



Без да твърдя, че разбирам от материята, ми се струва, че този callback се очаква да е конкретен интерфейс, а не просто IInterface. За SetCallBack не пише ли какви методи се очаква да има интерфейса?
Освен това четох някъде (не знам дали е вярно, а нямам Delphi да проверя), че TWebConnection не поддържало callback-s - имало някакъв флаг SupportCallback, който се сетвал на false.




Страници по тази тема: 1 | 2 | >> (покажи всички)
Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.