cortesi Mon Apr 29 08:06:43 2002 EDT
Added files:
/phpdoc/it/faq com.xml
Log:
translated by hfish to EN 1.9
Index: phpdoc/it/faq/com.xml
+++ phpdoc/it/faq/com.xml
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- EN-Revision: 1.9 Maintainer: hfish Status: ready -->
<chapter id="faq.com">
<title>PHP e COM</title>
<titleabbrev>PHP e COM</titleabbrev>
<para>
PHP pu� essere usato per accedere a oggetti COM o DCOM sotto piattaforme Win32.
</para>
<qandaset>
<qandaentry id="faq.com.q1">
<question>
<para>
Ho creato una DLL per calcolare qualcosa. Esiste un modo per eseguire questa DLL
sotto PHP?
</para>
</question>
<answer>
<para>
Se � una semplice DLL non esiste ancora un modo per poterla eseguire sotto PHP.
Se la DLL contiene un
server COM potresti essere in grado di eseguirla se � fornita di un'interfaccia
IDispatch.
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q2">
<question>
<para>
Cosa significa: 'Unsupported variant type: xxxx (0xxxxx)'?
</para>
</question>
<answer>
<para>
Ci sono dozzine di tipi di VARIANT (varianti) e loro possibili combinazioni. La
maggior parte di queste sono
gi� supportate, ma una piccola parte deve ancora essere implementata.
Gli array non sono ancora completamente
supportati. Possono essere passati tra PHP e COm solo array
<emphasis>non</emphasis> multidimesionali. Se
trovi altri tipi che non sono supportati, segnalalo come un BUG (solo se non �
gi� stato fatto da qualcun
altro) e cerca di fornire il maggior numero possibile di informazioni.
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q3">
<question>
<para>
È possibile manipolare dei visual object con PHP?
</para>
</question>
<answer>
<para>
Generalmente s�, ma PHP, essendo per lo pi� usato come un linguaggio di
scripting per il web, gira nel
contesto di un webserver, quindi i visual object non appariranno mai sui
desktope dei server. Per esempio
se usi PHP per scrivere applicazioni insieme a PHP-GTK non ci sono limiti di
sorta agli accessi o alla
manipolazioni di visual object attraverso COM.
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q4">
<question>
<para>
Posso salvare un oggetto COM in una sessione?
</para>
</question>
<answer>
<para>
No, non puoi. Le istanze COM sono trattate come risorse e quindi sono
disponibili solo nel contesto di un singolo script.
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q5">
<question>
<para>
Come posso bloccare gli errori COM?
</para>
</question>
<answer>
<para>
Attualmente non � possibile bloccare gli errori COM nei soliti modi disponibili
in PHP (@, track_errors, ...),
ma stiamo pensando di implementare questa funzione.
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q6">
<question>
<para>
Tramite script Perl riesco a creare delle DLL: � possibile farlo anche in PHP?
</para>
</question>
<answer>
<para>
No, sfortunatamente non esiste ancora una funzione simile per PHP.
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q7">
<question>
<para>
Cosa significa: 'Unable to obtain IDispatch interface for CLSID
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}'?
</para>
</question>
<answer>
<para>
Questo errore pu� essere determinato da diversi fattori:
<itemizedlist>
<listitem>
<simpara>
il CLSID � sbagliato
</simpara>
</listitem>
<listitem>
<simpara>
manca una DLL richiesta
</simpara>
</listitem>
<listitem>
<simpara>
i componenti richiesti non implementano l'interfaccia IDispatch
</simpara>
</listitem>
</itemizedlist>
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q8">
<question>
<para>
Come devo fare per eseguire oggetti COM da un server remoto?
</para>
</question>
<answer>
<para>
Nello stesso modo in cui esegui un oggetto COM in locale. Devi solo passare l'IP
del server remoto come
secondo parametro al costruttore COM.
</para>
<para>
Assicurati di aver settato <literal>com.allow_dcom=true</literal> nel tuo
&php.ini;
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q9">
<question>
<para>
Ricevo questo messaggio di errore: 'DCOM is disabled in
C:\percorso...\nome_script.php on line 6'. Cosa posso fare?
</para>
</question>
<answer>
<para>
Modifica il tuo &php.ini; e setta <literal>com.allow_dcom=true</literal>.
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q10">
<question>
<para>
È possibile caricare/manipolare un oggetto ActiveX in una pagina PHP?
</para>
</question>
<answer>
<para>
Ci� non ha nulla a che vedere con PHP. Gli oggetti ActiveX sono caricati dalla
macchina del visitatore
(client side) se sono richiesti in una pagina HTML. Non esiste alcun nesso con
gli script PHP e quindi
non ci pu� essere nessun tipo di interazione sul server.
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q11">
<question>
<para>
È possibile un'istanza in esecuzione di un componente?
</para>
</question>
<answer>
<para>
Ci� � possibile con l'aiuto di soprannomi. Se vuoi ricevere referenze multiple
di una stessa istanza, puoi
creare l'istanza come segue:
</para>
<programlisting role="php">
$word = new COM("C:\docs\word.doc");
</programlisting>
<para>
Questo creer� una nuova istanza se non esistono istanza in esecuzione
disponibili, o ritorner� un handle,
se disponibile, dell'istanza in esecuzione.
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q12">
<question>
<para>
Esiste un modo per manipolare un evento inviato da un oggetto COM?
</para>
</question>
<answer>
<para>
Non ancora.
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q13">
<question>
<para>
Sto riscontrando dei problemi quando provo a invocare un metodo di
un oggetto COM che espone pi� di una interfaccia. Che cosa posso fare?
</para>
</question>
<answer>
<para>
La risposta � semplice. Non so bene il perch�, ma non puoi farci niente. Se
qualcuno avesse informazioni
specifiche riguardo a ci�, � pregato di farle pervenire a <ulink
url="mailto:&email.harald;">questo indirizzo</ulink> :)
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q14">
<question>
<para>
PHP riesce a lavorare con COM, ma come si comporta con COM+?
</para>
</question>
<answer>
<para>
COM+ estende COM tramite una struttura di amministrazione dei componenti
attraverso MTS e MSMQ, ma non c'�
niente di particolare che PHP dovrebbe avere in pi� per supportare anche questi
componenti.
</para>
</answer>
</qandaentry>
<qandaentry id="faq.com.q15">
<question>
<para>
Se PHP pu� manipolare oggetti COM, immagino di poter usare MTS
per amministrare le risorse dei componenti insieme a PHP.
</para>
</question>
<answer>
<para>
PHP ancora non � in grado di manipolare di per s� le transazioni.
Quindi se avviene un qualunque errore non viene eseguito nessun rollback. Se fai
uso
di componenti che supportano le transazioni dovrai implementare da te la
gestione delle transazioni.
</para>
</answer>
</qandaentry>
</qandaset>
</chapter>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"../../manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->