2012-12-19 12 views
7

डेल्फी एक्स 3 में फायरमोनकी एप्लिकेशन की मुख्य TForm3D विंडो में Context:TContext3D है जो मुझे उपयोग किए गए वर्तमान डिवाइस तक पहुंच प्रदान करता है।
विंडोज 7 64 के साथ मेरे मामले में, यह हमेशा ऑब्जेक्ट FMX.Context.DX10.pas से दिखाता है।डेल्फी XE3 में डायरेक्टएक्स 9 संदर्भ का उपयोग करने के लिए फायरमोनकी को कैसे बल दें?

मुझे TDX9Context कक्षा से FMX.Context.DX9.pas से नया उदाहरण बनाने की दृश्यता नहीं है, केवल पूर्वजों TCustomDX9Context देखने के लिए।

मैं TContextManager वर्ग कि एक सख्त निजी TList :(में registerd 3 डी संदर्भों इकट्ठा पाया, यह केवल वर्ग कि निर्माता कॉल कर सकते हैं ...

{ Don't call contructor directly from TContext - only using TContextManager class } 
constructor CreateFromWindow(const AParent: TFmxHandle; const AWidth, AHeight: Integer;` 

वे TContextManager फोन एक संदर्भ पाने के लिए है जब नए रूपों बनाने, तो एक केवल पढ़ने के लिए संपत्ति TContextManager.DefaultContextClass प्रयोग किया जाता है।

कोई रास्ता नहीं मैं DefaultContextClass के अलावा अन्य संदर्भों के लिए उपयोग पा सकते हैं नहीं है।

+2

एक टिप्पणी से (https://plus.google.com/u/0/107332916729762772829/ पोस्ट/VKvvLHwdYUc): [GlobalUseDX10] (http://docwiki.embarcadero.com/Libraries/XE3/en/FMX.Types.GlobalUseDX10): = गलत; –

+0

हां! :) वह अप्रत्याशित रूप से आसान और जादुई था! यह काम करता हैं! कोड की यह पंक्ति application.in आरंभ करने से पहले होनी चाहिए! – piXelicidio

+0

मैं यहां एक नौसिखिया हूं, मुझे नहीं पता कि मुझे अपने प्रश्न का उत्तर देना चाहिए या नहीं? : -/ – piXelicidio

उत्तर

2

रिकॉर्ड के लिए:

अपनी परियोजना फ़ाइल में निम्न पंक्ति रखो: अपने G + [पोस्ट] पर

GlobalUseDX10 := False; <<-- add this. 
Application.Initialize; <<-- just before this line. 
+0

धन्यवाद, चाल पूरी तरह से काम करता है। हमें जी + उपयोगकर्ता भी धन्यवाद देना चाहिए: सर्जियन रेड। – piXelicidio

संबंधित मुद्दे