> fuldstændigt, og i stedet bruger &DCOP; overalt, opstår naturligvis spørgsmålet hvorfor ikke &arts; også gør det. Trods alt findes &DCOP;-understøttelse i <classname
>KApplication</classname
>TDEApplication</classname
>, er godt vedligeholdt, forventes at integreres udmærket med libICE, og alt muligt andet. </para>
>. Desuden var vi tvunget til at ændre den tidligere brugte metode <methodname
>setMainWidget()</methodname
> til <methodname
>setTopWidget</methodname
> som <classname
>KApplication</classname
>TDEApplication</classname
> bruger til for at angive hovedkontrollen. Det er alt! Dit første KDE-program er klart. Du behøver kun at fortælle oversætteren hvilken deklarationssøgesti KDE har, og linkeren at den skal linke med tdecore-biblioteket med -ltdecore. </para>
<para
>Eftersom du nu i det mindste ved hvad funktionen <function
@ -761,13 +761,13 @@ return a.exec();
> og <classname
>QObject</classname
> og tdecore-biblioteksdokumentationen for klassen <classname
> er indkapslet i klassen <ulink url="kdeapi:tdecore/KApplication"
>KApplication</ulink
> er indkapslet i klassen <ulink url="kdeapi:tdecore/TDEApplication"
>TDEApplication</ulink
>. For at vise håndbogen for programmet, bruges blot </para>
<programlisting
@ -2410,8 +2410,8 @@ if (!factory) {
>X-DCOP-ServiceType</literal
> angiver hvordan tjenesten startes. Værdien <literal
>Unique</literal
> (unik) angiver at tjenesten ikke må startes mere end én gang. Det betyder at hvis du forsøger at starte tjenesten (f.eks. via <ulink url="kdeapi:tdecore/KApplication.html#startServiceByName"
> KApplication::startServiceByName()</ulink
> (unik) angiver at tjenesten ikke må startes mere end én gang. Det betyder at hvis du forsøger at starte tjenesten (f.eks. via <ulink url="kdeapi:tdecore/TDEApplication.html#startServiceByName"
> TDEApplication::startServiceByName()</ulink
>, kontrollerer KDE om den allerede er registreret i DCOP, og bruger tjenesten som kører. Hvis den ikke allerede er registreret, starter KDE den og venter til den er registreret. Derfor kan du med det samme sende DCOP-kald til tjenesten. I dette tilfælde, skal tjenesten implementeres som <ulink url="kdeapi:tdecore/KUniqueApplication.html"
>KUniqueApplication</ulink
>. </para>
@ -2452,14 +2452,14 @@ X-TDE-StartupNotify=false
>Brug af DCOP-tjenester</title>
<para
>En DCOP-tjeneste startes med en af flere metoder i klassen KApplication: </para>
>En DCOP-tjeneste startes med en af flere metoder i klassen TDEApplication: </para>
<programlisting
>DCOPClient *client = kapp->dcopClient();
client->attach();
if (!client->isApplicationRegistered("kio_uiserver")) {
QString error;
if (KApplication::startServiceByName("kio_uiserver", QStringList(), &error))
if (TDEApplication::startServiceByName("kio_uiserver", QStringList(), &error))
cout << "Start af KIO-server mislykkedes med meddelelsen " << error << endl;
}
...
@ -2478,11 +2478,11 @@ if (!client->call("kio_uiserver", "UIServer", "setListMode(bool)",
<para
>I eksemplet som gives her, startes tjenesten "med navn", dvs. første argument til <function
>KApplication::startServiceByName() </function
>TDEApplication::startServiceByName() </function
> er navnet, som det angives på linjen <literal
>Name</literal
> i desktop-filen. Et alternativ er at bruge <function
> completely, and is using &DCOP; everywhere instead, naturally the question arises why &arts; isn't doing so. After all, &DCOP; support is in <classname
>KApplication</classname
>TDEApplication</classname
>, is well-maintained, supposed to integrate greatly with libICE, and whatever else. </para>
> completamente, y está usando &DCOP; en su lugar, la pregunta natural que surge es por qué &arts; no está haciendo eso. Después de todo, el soporte para &DCOP; está en <classname
>KApplication</classname
>TDEApplication</classname
>, está bien mantenido, y supuestamente bien integrado con libICE, entre otras cosas. </para>
>Vea que en primer lugar hemos cambiado de <classname
>QApplication</classname
> a <classname
>KApplication </classname
>TDEApplication </classname
>. Además, hemos tenido que cambiar elmétodo <methodname
>setMainWidget()</methodname
> anteriormente usado por <methodname
>setTopWidget</methodname
>, que utiliza <classname
>KApplication</classname
>TDEApplication</classname
> para establecer el «widget» principal. ¡Y ya está! Su primera aplicación de KDE ya está terminada. Ahora solo le falta indicarle al compilador la ruta de inclusión de KDE, y al enlazador que utilice la biblioteca tdecore mediante el parámetro -ltdecore. </para>
<para
>Como ahora ya sabe qué suele proporcionar como mínimo la función <function
@ -767,13 +767,13 @@ return a.exec();
> y <classname
>QObject</classname
>, y la documentación de la biblioteca «tdecore» sobre la clase <classname
>KApplication</classname
>TDEApplication</classname
>. El <ulink url="developer.kde.org/documentation/library/libraryref.html"
> Manual d referencia de la biblioteca KDE</ulink
> también contiene una completa descripción sobre cómo llamar a los constructores de <classname
>QApplication</classname
> y de <classname
>KApplication</classname
>TDEApplication</classname
>, incluido el procesamiento de los argumentos pasados como parámetros en la línea de comando. </para>
> está encapsulada en la clase <ulink url="kdeapi:tdecore/KApplication"
>KApplication</ulink
> está encapsulada en la clase <ulink url="kdeapi:tdecore/TDEApplication"
>TDEApplication</ulink
>. Para mostrar el manual de su aplicación, use </para>
<programlisting
@ -2412,8 +2412,8 @@ if (!factory) {
>X-DCOP-ServiceType</literal
> especifica el modo en que se inicia el servicio. El valor <literal
>Unique</literal
> indica que el servicio no se debe iniciar más de una vez. Esto significa que si trata de iniciar este servicio, por ejemplo mediante <ulink url="kdeapi:tdecore/KApplication.html#startServiceByName"
>KApplication::startServiceByName()</ulink
> indica que el servicio no se debe iniciar más de una vez. Esto significa que si trata de iniciar este servicio, por ejemplo mediante <ulink url="kdeapi:tdecore/TDEApplication.html#startServiceByName"
>TDEApplication::startServiceByName()</ulink
>, KDE comprueba si ya estaba registrado en DCOP. En caso afirmativo, usa el servicio que está en ejecución. Si todavía no estaba registrado, KDE lo iniciará y esperará hasta que esté registrado. De este modo puede enviar llamadas DCOP al servicio inmediatamente. En tal caso, el servicio debe implementarse como <ulink url="kdeapi:tdecore/KUniqueApplication.html"
>KUniqueApplication</ulink
>. </para>
@ -2456,14 +2456,14 @@ X-TDE-StartupNotify=false
>Uso de servicios DCOP</title>
<para
>Un servicio DCOP comienza con uno de entre varios métodos en la clase KApplication: </para>
>Un servicio DCOP comienza con uno de entre varios métodos en la clase TDEApplication: </para>
<programlisting
>DCOPClient *client = kapp->dcopClient();
client->attach();
if (!client->isApplicationRegistered("kio_uiserver")) {
QString error;
if (KApplication::startServiceByName("kio_uiserver", QStringList(), &error))
if (TDEApplication::startServiceByName("kio_uiserver", QStringList(), &error))
cout << "El inicio de kioserver ha fallado con el mensaje " << error << endl;
}
...
@ -2482,11 +2482,11 @@ if (!client->call("kio_uiserver", "UIServer", "setListMode(bool)",
<para
>En el ejemplo propuesto, el servicio se inició «por nombre»; es decir, el primer argumento de <function
>KApplication::startServiceByName()</function
>TDEApplication::startServiceByName()</function
> es el nombre que aparece en la línea <literal
>Name</literal
> del archivo «desktop». Una alternativa consiste en usar <function
>. Seejärel pidime muutma varasema meetodi <methodname
>setMainWidget()</methodname
> meetodiks <methodname
>setTopWidget</methodname
>, mida <classname
>KApplication</classname
>TDEApplication</classname
> kasutab põhividina määramiseks. Ja ongi kõik! Sinu esimene KDE rakendus on valmis - pead veel ainult kompilaatorile teatama KDE kaasamise asukohta ja linkuriga linkima teegi tdecore võtmega -ltdecore. </para>
<para
>Nüüd, kus tead, mida funktsioon <function
@ -761,13 +761,13 @@ return a.exec();
> ja <classname
>QObject</classname
> kohta, ning teegi tdecore dokumentatsiooni klassi <classname
>KApplication</classname
>TDEApplication</classname
> kohta. <ulink url="developer.kde.org/documentation/library/libraryref.html"
>KDE teegi käsiraamat</ulink
> sisaldab samuti põhjalikku kirjeldust konstruktorite <classname
>QApplication</classname
> ja <classname
>KApplication</classname
>TDEApplication</classname
> väljakutsumise kohta, kaasa arvatud käsureaargumentide töötlemine. </para>
> määrab viisi, kuidas teenus käivitatakse. Väärtus <literal
>Unique</literal
> sedastab, et teenust saab käivitada vaid ühekordsena. See tähendab, et kui proovid teenust käivitada (nt. <ulink url="kdeapi:tdecore/KApplication.html#startServiceByName"
> KApplication::startServiceByName()</ulink
> sedastab, et teenust saab käivitada vaid ühekordsena. See tähendab, et kui proovid teenust käivitada (nt. <ulink url="kdeapi:tdecore/TDEApplication.html#startServiceByName"
> TDEApplication::startServiceByName()</ulink
> vahendusel), uurib KDE, kas see on juba registreeritud DCOP-iga ja kasutab töötavat teenust. Kui see ei ole veel registreeritud, käivitab KDE selle ja ootab registreerimist. Nii saab teenusele kohe saata DCOP-väljakutseid. Sellisel juhul peab teenus olema teostatud kui <ulink url="kdeapi:tdecore/KUniqueApplication.html"
>KUniqueApplication</ulink
>. </para>
@ -2452,14 +2452,14 @@ X-TDE-StartupNotify=false
>DCOP-teenuste kasutamine</title>
<para
>DCOP-teenus käivitatakse mõne klassi KApplication meetodiga: </para>
>DCOP-teenus käivitatakse mõne klassi TDEApplication meetodiga: </para>
<programlisting
>DCOPClient *client = kapp->dcopClient();
client->attach();
if (!client->isApplicationRegistered("kio_uiserver")) {
QString error;
if (KApplication::startServiceByName("kio_uiserver", QStringList(), &error))
if (TDEApplication::startServiceByName("kio_uiserver", QStringList(), &error))
>, KDE vérifie s'il est déjà enregistré avec DCOP et utilise le service en cours d'exécution. S'il n'est pas encore enregistré, KDE le démarre et attend jusqu'à ce qu'il soit enregistré. Ainsi, vous pouvez immédiatement envoyer des appels DCOP au service. Dans un tel cas, le service devra être mis en œuvre en tant que <ulink url="kdeapi:tdecore/KUniqueApplication.html"
>KUniqueApplication</ulink
>. </para>
@ -2468,14 +2468,14 @@ X-TDE-StartupNotify=false
>Utilisation des services DCOP</title>
<para
>Un service DCOP est démarré avec une des quelques méthodes que contient la classe KApplication: </para>
>Un service DCOP est démarré avec une des quelques méthodes que contient la classe TDEApplication: </para>
<programlisting
>DCOPClient *client = kapp->dcopClient();
client->attach();
if (!client->isApplicationRegistered("kio_uiserver")) {
QString error;
if (KApplication::startServiceByName("kio_uiserver", QStringList(), &error))
if (TDEApplication::startServiceByName("kio_uiserver", QStringList(), &error))
cout << "Le démarrage de kioserver a échoué avec le message " << error << endl;
}
...
@ -2494,11 +2494,11 @@ if (!client->call("kio_uiserver", "UIServer", "setListMode(bool)",
<para
>Dans l'exemple donné ici, le service a été démarré «par nom», &cad; que le premier argument vers <function
>KApplication::startServiceByName()</function
>TDEApplication::startServiceByName()</function
> est le nom qui apparaît dans la ligne <literal
>Name</literal
> du fichier desktop. Une alternative consiste à utiliser <function
>Per prima cosa è stata cambiata la classe <classname
>QApplication</classname
> con la classe <classname
>KApplication</classname
>TDEApplication</classname
>. Inoltre è stato cambiato il metodo <methodname
>setMainWidget()</methodname
> usato precedentemente con il metodo <methodname
>setTopWidget</methodname
>, che viene usato da <classname
>KApplication</classname
>TDEApplication</classname
> per impostare il widget principale. Ecco qua! La prima applicazione KDE è pronta - ora si deve solo indicare al compilatore il percorso di inclusione di KDE e al linker di collegare la libreria kdecode con l'opzione -ltdecore. </para>
<para
>Ora che si conosce cosa fornisce la funzione <function
@ -759,13 +759,13 @@ return a.exec();
> e <classname
>QObject</classname
>, e la documentazione della libreria tdecore per la classe <classname
>KApplication </classname
>TDEApplication </classname
>. Il <ulink url="developer.kde.org/documentation/library/libraryref.html"
>manuale di riferimento delle librerie KDE</ulink
> include una descrizione completa sulle chiamate ai costruttori delle classi <classname
>QApplication</classname
> e <classname
> KApplication</classname
> TDEApplication</classname
> e l'elaborazione degli argomenti a linea di comando. </para>
>Inizializza e controlla un'applicazione KDE </para>
@ -2133,8 +2133,8 @@ rc_DATA = kviewui.rc
<para
>La chiamata a <application
>KHelpCenter</application
> è incapsulata nella classe <ulink url="kdeapi:tdecore/KApplication"
>KApplication</ulink
> è incapsulata nella classe <ulink url="kdeapi:tdecore/TDEApplication"
>TDEApplication</ulink
>. Per visualizzare il manuale della propria applicazione, usare </para>
<programlisting
@ -2408,8 +2408,8 @@ if (!factory) {
>X-DCOP-ServiceType</literal
> indica il modo con cui il servizio viene avviato. Il valore <literal
>Unique</literal
> indica che il servizio non può essere avviato più di una volta. Questo significa che se si tenta di avviare il servizio (ad es. attraverso <ulink url="kdeapi:tdecore/KApplication.html#startServiceByName"
>KApplication::startServiceByName()</ulink
> indica che il servizio non può essere avviato più di una volta. Questo significa che se si tenta di avviare il servizio (ad es. attraverso <ulink url="kdeapi:tdecore/TDEApplication.html#startServiceByName"
>TDEApplication::startServiceByName()</ulink
>) KDE controllerà se è già stato registrato con DCOP e userà il servizio in esecuzione. In caso contrario lo avvierà e attenderà fino alla sua registrazione. In seguito si potranno immediatamente inviare chiamate DCOP al servizio. In questo caso, il servizio dovrebbe essere implementato come <ulink url="kdeapi:tdecore/KUniqueApplication.html"
>KUniqueApplication</ulink
>. </para>
@ -2450,14 +2450,14 @@ X-TDE-StartupNotify=false
>Usare i servizi DCOP</title>
<para
>Un servizio DCOP è avviato con uno dei vari metodi della classe KApplication: </para>
>Un servizio DCOP è avviato con uno dei vari metodi della classe TDEApplication: </para>
<programlisting
>DCOPClient *client = kapp->dcopClient();
client->attach();
if (!client->isApplicationRegistered("kio_uiserver")) {
QString error;
if (KApplication::startServiceByName("kio_uiserver", QStringList(), &error))
if (TDEApplication::startServiceByName("kio_uiserver", QStringList(), &error))
> por completo e está a usar o &DCOP; em todo o lado, naturalmente a questão levantar-se-á: 'porque é que o &arts; não o faz também?'. No fim de tudo, o suporte do &DCOP; está no <classname
>KApplication</classname
>TDEApplication</classname
>, é bem-mantido, supostamente integra-se bem com a libICE, entre outras coisas. </para>
>Você irá constatar que, primeiro, mudámos da <classname
>QApplication</classname
> para a <classname
>KApplication </classname
>TDEApplication </classname
>. Para além disso, tivemos de mudar o método <methodname
>setMainWidget()</methodname
> para <methodname
>setTopWidget</methodname
>, o qual a classe <classname
>KApplication</classname
>TDEApplication</classname
> usa para indicar qual o item principal. É tudo! A sua primeira aplicação do KDE está pronta - você só terá de indicar ao compilador a localização dos ficheiros de inclusão e ao editor de ligações para compilar com a biblioteca 'tdecore', através da opção'-ltdecore'. </para>
<para
>Dado que já sabe o que, pelo menos, a função <function
@ -767,13 +767,13 @@ return a.exec();
> e <classname
>QObject </classname
>, assim como a documentação da biblioteca 'tdecore' para a classe <classname
>KApplication</classname
>TDEApplication</classname
>. O <ulink url="developer.kde.org/documentation/library/libraryref.html"
>Manual de Referência da Biblioteca do KDE</ulink
> também cobre uma descrição completa da invocação dos construtores da <classname
>QApplication</classname
> e da <classname
>KApplication</classname
>TDEApplication</classname
>, incluindo o processamento dos argumentos da linha de comandos. </para>
</sect2>
</sect1>
@ -1007,7 +1007,7 @@ return a.exec();
5 about.addAuthor( "O Seu Nome", 0, "voce@o-proprio.com" );
>Inicializa e controla uma aplicação do KDE. </para>
@ -2166,8 +2166,8 @@ rc_DATA = kviewui.rc
<para
>A invocação do <application
>KHelpCenter</application
> está encapsulada na classe <ulink url="kdeapi:tdecore/KApplication"
>KApplication</ulink
> está encapsulada na classe <ulink url="kdeapi:tdecore/TDEApplication"
>TDEApplication</ulink
>. Para mostrar o manual da sua aplicação, basta usar </para>
<programlisting
@ -2441,8 +2441,8 @@ if (!fabrica) {
>X-DCOP-ServiceType</literal
> define a forma como o serviço é iniciado. O valor <literal
>Unique</literal
> diz que o serviço não poderá ser iniciado mais do que uma vez. Isto significa que, se você tentar iniciar este serviço (p.ex., através do <ulink url="kdeapi:tdecore/KApplication.html#startServiceByName"
> KApplication::startServiceByName()</ulink
> diz que o serviço não poderá ser iniciado mais do que uma vez. Isto significa que, se você tentar iniciar este serviço (p.ex., através do <ulink url="kdeapi:tdecore/TDEApplication.html#startServiceByName"
> TDEApplication::startServiceByName()</ulink
>, o KDE irá descobrir se já está registado no DCOP e usa o serviço em execução. Se ainda não estiver registado, o KDE irá iniciá-lo e esperar até que esteja registado. Desta forma, você poderá enviar imediatamente chamadas de DCOP para o serviço. Nesse caso, o serviço deverá ser implementado como uma <ulink url="kdeapi:tdecore/KUniqueApplication.html"
>KUniqueApplication</ulink
>. </para>
@ -2483,14 +2483,14 @@ X-TDE-StartupNotify=false
>Usar os serviços de DCOP</title>
<para
>Um serviço de DCOP é iniciado com um de vários métodos na classe KApplication: </para>
>Um serviço de DCOP é iniciado com um de vários métodos na classe TDEApplication: </para>
<programlisting
>DCOPClient *cliente = kapp->dcopClient();
cliente->attach();
if (!cliente->isApplicationRegistered("kio_uiserver")) {
QString erro;
if (KApplication::startServiceByName("kio_uiserver", QStringList(), &erro))
if (TDEApplication::startServiceByName("kio_uiserver", QStringList(), &erro))
cout << "O início do kioserver falhou com a mensagem " << erro << endl;
}
...
@ -2509,11 +2509,11 @@ if (!client->call("kio_uiserver", "UIServer", "setListMode(bool)",
<para
>No exemplo aqui dado, o serviço foi iniciado "por nome", i.e., o primeiro argumento do <function
>KApplication::startServiceByName()</function
>TDEApplication::startServiceByName()</function
> é o nome que aparece na linha <literal
>Name</literal
> do ficheiro 'desktop'. Uma alternativa é usar o <function
> por completo e está usando o &DCOP; em todo o sistema, naturalmente a questão a se levantar é porque o &arts; não faz isso também. Afinal de contas, o suporte do &DCOP; está no <classname
>KApplication</classname
>TDEApplication</classname
>, é bem-mantido, supostamente integra-se bem com a libICE, entre outras coisas. </para>
> для указания главного элемента управления для <classname
>KApplication</classname
>TDEApplication</classname
>. Всё! Ваше первое приложение KDE готово - осталось только указать путь к заголовочным файлам KDE и скомпоновать библиотеку tdecore ключом компоновщика -ltdecore. </para>
<para
>Если вы не собираетесь создавать такие простые программы, вам понадобится более удобная среда написания ПО. В следующей главе речь пойдёт о &tdevelop;. </para>
@ -751,13 +751,13 @@ return a.exec();
> и <classname
>QObject</classname
>, а также по документации библиотеки tdecore, классу <classname
> доступен из класса <ulink url="kdeapi:tdecore/KApplication"
>KApplication</ulink
> доступен из класса <ulink url="kdeapi:tdecore/TDEApplication"
>TDEApplication</ulink
>. </para>
<programlisting
@ -2410,8 +2410,8 @@ if (!factory) {
>X-DCOP-ServiceType</literal
> определяет метод запуска. Значение <literal
>Unique</literal
> говорит о невозможности запуска нескольких экземпляров этой службы. Это значит, что если вы попытаетесь запуститьэту службу (например, через <ulink url="kdeapi:tdecore/KApplication.html#startServiceByName"
>KApplication::startServiceByName()</ulink
> говорит о невозможности запуска нескольких экземпляров этой службы. Это значит, что если вы попытаетесь запуститьэту службу (например, через <ulink url="kdeapi:tdecore/TDEApplication.html#startServiceByName"
>TDEApplication::startServiceByName()</ulink
>, и KDE обнаружит, что такая служба уже зарегистрирована в, то будет использована уже запущенная копия службы. В этом случае она должна быть реализована как <ulink url="kdeapi:tdecore/KUniqueApplication.html"
>KUniqueApplication</ulink
>. </para>
@ -2452,14 +2452,14 @@ X-TDE-StartupNotify=false
>Использование служб DCOP</title>
<para
>Служба DCOP запускается несколькими методами класса KApplication: </para>
>Служба DCOP запускается несколькими методами класса TDEApplication: </para>
<programlisting
>DCOPClient *client = kapp->dcopClient();
client->attach();
if (!client->isApplicationRegistered("kio_uiserver")) {
QString error;
if (KApplication::startServiceByName("kio_uiserver", QStringList(), &error))
if (TDEApplication::startServiceByName("kio_uiserver", QStringList(), &error))
> helt och hållet, och istället använder &DCOP; överallt, uppstår förstås frågan varför inte &arts; också gör det. Trots allt finns &DCOP;-stöd i <classname
>KApplication</classname
>TDEApplication</classname
>, underhålls väl, förväntas integreras utmärkt med libICE, och allt möjligt annat. </para>
>Du märker att vi först har ändrat från <classname
>QApplication</classname
> till <classname
>KApplication</classname
>TDEApplication</classname
>. Dessutom var vi tvungna att ändra den tidigare använda metoden <methodname
>setMainWidget()</methodname
> till <methodname
>setTopWidget</methodname
> som <classname
>KApplication</classname
>TDEApplication</classname
> använder för att ange huvudkomponenten. Det är allt! Ditt första KDE-program är klart. Du behöver bara tala om för kompilatorn vilken deklarationssökväg KDE har, och för länkaren att den ska länka med tdecore-biblioteket med -ltdecore. </para>
<para
>Eftersom du nu åtminstone vet vad funktionen <function
@ -761,13 +761,13 @@ return a.exec();
> och <classname
>QObject</classname
> och tdecore-biblioteksdokumentationen för klassen <classname
> är inkapslat i klassen <ulink url="kdeapi:tdecore/KApplication"
>KApplication</ulink
> är inkapslat i klassen <ulink url="kdeapi:tdecore/TDEApplication"
>TDEApplication</ulink
>. För att visa handboken för programmet, använd bara </para>
<programlisting
@ -2410,8 +2410,8 @@ if (!factory) {
>X-DCOP-ServiceType</literal
> anger hur tjänsten startas. Värdet <literal
>Unique</literal
> (unik) anger att tjänsten inte får startas mer än en gång. Det betyder att om du försöker starta tjänsten (t.ex. via <ulink url="kdeapi:tdecore/KApplication.html#startServiceByName"
> KApplication::startServiceByName()</ulink
> (unik) anger att tjänsten inte får startas mer än en gång. Det betyder att om du försöker starta tjänsten (t.ex. via <ulink url="kdeapi:tdecore/TDEApplication.html#startServiceByName"
> TDEApplication::startServiceByName()</ulink
>, kontrollerar KDE om den redan har registrerats i DCOP, och använder tjänsten som kör. Om den inte redan är registrerad, startar KDE den och väntar till den har registrerats. Därför kan du omedelbart skicka DCOP-anrop till tjänsten. I detta fall, ska tjänsten implementeras som <ulink url="kdeapi:tdecore/KUniqueApplication.html"
>KUniqueApplication</ulink
>. </para>
@ -2452,14 +2452,14 @@ X-TDE-StartupNotify=false
>Använda DCOP-tjänster</title>
<para
>En DCOP-tjänst startas med en av flera metoder i klassen KApplication: </para>
>En DCOP-tjänst startas med en av flera metoder i klassen TDEApplication: </para>
<programlisting
>DCOPClient *client = kapp->dcopClient();
client->attach();
if (!client->isApplicationRegistered("kio_uiserver")) {
QString error;
if (KApplication::startServiceByName("kio_uiserver", QStringList(), &error))
if (TDEApplication::startServiceByName("kio_uiserver", QStringList(), &error))
cout << "Start av KIO-server misslyckades med meddelandet " << error << endl;
}
...
@ -2478,11 +2478,11 @@ if (!client->call("kio_uiserver", "UIServer", "setListMode(bool)",
<para
>I exemplet som ges här, startas tjänsten "med namn", dvs. första argumentet till <function
>KApplication::startServiceByName() </function
>TDEApplication::startServiceByName() </function
> är namnet, som det anges på raden <literal
>Name</literal
> i desktop-filen. Ett alternativ är att använda <function