ConFoo 2025

com_get_active_object

(PHP 5, PHP 7, PHP 8)

com_get_active_objectCOM nesnesinin çalışan bir örneği için tanıtıcı döner

Açıklama

com_get_active_object(string $prog_id, ?int $kod_sayfası = null): variant

com_get_active_object() işlevi com nesnesinden yeni bir örnek yaratma ile benzer işi yapar. Aralarındaki fark eğer nesne hali hazırda çalışıyorsa işlevden bir nesne dönecektir. OLE uygulamaları, sık kullanılan uygulamaları sadece bir kez yüklemek için Çalışan Nesne Tablosu ("Running Object Table") olarak bilinen yapıyı kullanır; bu işlev çalışan nesne tanıtıcısını almak için COM kütüphanesinden GetActiveObject() işlevini kullanır.

Bağımsız Değişkenler

prog_id

Erişmek istediğiniz nesne için (örneğin Word.Application) prog_id bağımsız değişkeni ProgID veya CLSID olmalıdır.

kod_sayfası

Tam olarak com sınıfındaki gibi rol oynar.

Dönen Değerler

İstenen nesne çalışıyorsa, betiğinizdeki herhangi bir COM nesnesi gibi döndürülecektir.

Sürüm Bilgisi

Sürüm: Açıklama
8.0.0 kod_sayfası artık null olabiliyor.

Hatalar/İstisnalar

İşlevin başarısız olmasının çeşitli nedenleri vardır, en sık karşılaşılan istenen nesnenin çalışmamasından kaynaklanır. Bu durumda, istisna hata kodu MK_E_UNAVAILABLE olacaktır; Hata kodunu kontrol etmek için istisna nesnesinin getCode yöntemini kullanabilirsiniz.

Notlar

Uyarı

com_get_active_object() işlevini bir html sunucuda kullanmak akıllıca bir fikir değildir. Birçok COM/OLE uygulaması eşzamanlı birden fazla istemci ile çalışacak şekilde tasarlanmamıştır, hatta (özellikle) Microsoft Office bile. Bu konuda daha fazla bilgi için » Sunucu taraflı ofis özdevinimi üzerine düşünceler adresine bakınız.

add a note

User Contributed Notes 1 note

up
-1
gerrit at timingteam dot nl
15 years ago
Please note the next behavior (Apache 2.2.8, W2K, WXP)

If Apache runs as a service, com_get_active_object() always returns MK_E_UNAVAILABLE, even when it is definitely sure that the Running Object Table contains a reference to the required object.

If Apache runs in a console, com_get_active_object() returns the object handle as required.

This apparently is a Windows issue.
To Top