1
0
mirror of https://github.com/php/doc-tr.git synced 2026-03-23 23:02:09 +01:00
Files
archived-doc-tr/faq/com.xml
Nilgün Belma Bugüner 3219417503 fix RelaxNG validation errors
2024-10-29 15:53:44 +03:00

305 lines
8.8 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: e0352653179c355a6b9c353629147b06a2069f24 Maintainer: nilgun Status: ready -->
<chapter xml:id="faq.com" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>PHP ve COM</title>
<titleabbrev>PHP ve COM</titleabbrev>
<para>
PHP, Win32 platformlarında COM ve DCOM nesnelere erişim için
kullanılabilir.
</para>
<qandaset>
<qandaentry xml:id="faq.com.q1">
<question>
<para>
Bazı hesaplamalar için bir DLL derledim. Bu DLL'li PHP altında
çalıştırmanın bir yolu var mı?
</para>
</question>
<answer>
<para>
Bu basit bir DLL ise bunu PHP altında çalıştırmanın bir yolu yoktur.
Eğer DLL bir COM sunucusu içeriyor ve IDispatch arayüzünü gerçekliyorsa
bu DLL'e erişebilirsiniz.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q2">
<question>
<para>
'Unsupported variant type: xxxx (0xxxxx)' iletisinin anlamı nedir?
</para>
</question>
<answer>
<para>
Düzinelerce VARIANT türü ve bunların birleşimleri vardır. Bunların çoğu
desteklenmekteyse de bir kısmı halen gerçeklenme aşamasındadır. Diziler
tamamen desteklenmemektedir. PHP ve COM arasında sadece tek boyutlu
diziler aktarılabilmektedir. Lütfen bunu bir hata olarak raporlayın
(hala raporlanmamışsa) ve bunu yaparken mümkün olduğunca fazla bilgi
verin.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q3">
<question>
<para>
PHP'de görsel nesnelerle çalışmak mümkün müdür?
</para>
</question>
<answer>
<para>
Genelde mümkündür, fakat PHP'deki gibi çoğunlukla HTTP sunucusu
bağlamında işlem yapan bir betik dili olarak kullanılırlar. Bu bakımdan
görsel nesneler hiçbir zaman sunucunun masaüstünde görünmezler. PHP'yi
uygulama yazmak için kullanacaksanız (PHP-GTK örneğinde olduğu gibi),
görsel nesnelerle COM üzerinden çalışmak için herhangi bir sınırlama
yoktur.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q4">
<question>
<para>
Bir COM nesnesini bir oturumda saklayabilir miyim?
</para>
</question>
<answer>
<para>
Hayır, saklayamazsınız. COM nesne örnekleri birer özkaynak olarak ele
alınır. Bu bakımdan sadece tek betiklik bir bağlamda kullanılabilirler.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q5">
<question>
<para>
COM hatalarını yakalayabilir miyim?
</para>
</question>
<answer>
<para>
COM eklentisi sizin de yakalayabileceğiniz
<literal>com_exception</literal> istisnalarını yakalar. Bundan sonra ne
yapılacağını belirlemek için <literal>code</literal> üyesini
inceleyebilirsiniz.
</para>
<para>
COM hatalarını PHP tarafından sağlanan yollarla (@,
track_errors, ...) yakalamak mümkün değildir.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q6">
<question>
<para>
Perl'de olduğu gibi PHP betiklerinden DLL dosyaları üretebilir miyim?
</para>
</question>
<answer>
<para>
Hayır, maalesef PHP'de böyle bir araç yoktur.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q7">
<question>
<para>
'Unable to obtain IDispatch interface for CLSID
{xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}' iletisininin anlamı nedir?
</para>
</question>
<answer>
<para>
Bu hata pek çok sebepten ortaya çıkabilir:
<itemizedlist>
<listitem>
<simpara>
CLSID yanlıştır.
</simpara>
</listitem>
<listitem>
<simpara>
İstenen DLL yoktur.
</simpara>
</listitem>
<listitem>
<simpara>
İstenen bileşen IDispatch arayüzünü gerçeklemiyordur.
</simpara>
</listitem>
</itemizedlist>
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q8">
<question>
<para>
Bir COM nesnesini bir uzak sunucudan nasıl çalıştırabilirim?
</para>
</question>
<answer>
<para>
Tıpkı bir yerel nesne gibi çalıştırabilirsiniz. Tek yapacağınız, COM
kurucusuna ikinci bağımsız değişken olarak uzak makinenin IP adresini
aktarmaktır.
</para>
<para>
&php.ini; dosyanızda
<link linkend="ini.com.allow-dcom">com.allow_dcom</link><literal>=</literal>&true;
atamasını yapmış olmalısınız.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q9">
<question>
<para>
'DCOM is disabled in C:\path...\scriptname.php on line 6' iletisini
alıyorum. Ne yapabilirim?
</para>
</question>
<answer>
<para>
&php.ini; dosyanızı düzenlemek için açıp
<link linkend="ini.com.allow-dcom">com.allow_dcom</link><literal>=</literal>&true;
atamasını yapın.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q10">
<question>
<para>
Bir ActiveX nesnesini PHP ile bir sayfaya yüklemek ve kullanmak mümkün
müdür?
</para>
</question>
<answer>
<para>
Bunun için PHP ile bir şey yapılamaz. HTML belge tarafından
istendikleri takdirde ActiveX nesneler istemci tarafında yüklenirler.
PHP betiğiyle bir ilgileri olmadığından sunucu taraflı doğrudan
etkileşim mümkün değildir.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q11">
<question>
<para>
Bir bileşenin çalışan bir örneğini almak mümkün müdür?
</para>
</question>
<answer>
<para>
Bu, takma adların yardımı ile mümkündür. Aynı yazı örneği için çok
sayıda başvuru edinmek için örneği şöyle oluşturabilirsiniz:I
</para>
<informalexample><programlisting role="php">
<![CDATA[
<?php
$yazı = new COM("C:\docs\yazı.doc");
?>
]]>
</programlisting></informalexample>
<para>
Çalışan bir örnek olmadığı takdirde bu yeni bir örnek oluşturur, aksi
takdirde çalışan örnek için bir başvuru döndürür.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q12">
<question>
<para>
COM nesnesinden gönderilen bir olayı işleme sokmanın bir yolu var mıdır?
</para>
</question>
<answer>
<para>
Bir olay alıcıyı tanımlayabilir ve bunu
<function>com_event_sink</function> kullanarak bağlayabilirsiniz.
PHP'nin olay alıcı sınıfının bir iskeletini üretmesi için
<function>com_print_typeinfo</function> işlevini kullanabilirsiniz.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q13">
<question>
<para>
Birden fazla arayüz içeren bir COM nesnesinin bir yöntemini çağırmaya
çalışırken sorunlarla karşılaşıyorum. Ne yapabilirim?
</para>
</question>
<answer>
<para>
Yanıt pek tatmin edici değil biliyorum. Aslında tam olarak ne
yapılacağını bilmiyorum ama yapılabilecek bir şeyler olmalı.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q14">
<question>
<para>
PHP, COM ile çalıştığına göre COM+ ile de çalışır, değil mi?
</para>
</question>
<answer>
<para>
COM+, COM'un bileşenlerini MTS ve MSMQ üzerinden yönetmek için bir
arayüz ile genişletir. PHP'nin bu tarz nesneleri desteklemesi için
yapacağı özel bir şey yoktur.
</para>
</answer>
</qandaentry>
<qandaentry xml:id="faq.com.q15">
<question>
<para>
PHP, COM nesnelerle çalıştığına göre, özkaynakları yönetmek üzere
MTS'yi PHP ile birlikte kullanmayı düşünebilir miyiz?
</para>
</question>
<answer>
<para>
PHP henüz MTS hareketlerini işleme sokamamaktadır. Bu bakımdan, bir
hata oluşursa hareketi başa sarmak mümkün değildir. MTS hareketlerini
destekleyen bileşenleri kullanmak niyetindeyseniz hareket yönetimini
kendiniz gerçeklemek zorundasınız.
</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:"~/.phpdoc/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
-->