Module
Contents
Index 🔎︎

# CreateUnoValue Function

একটি বস্তু প্রদান করে যা Uno টাইপ পদ্ধতিতে উল্লেখিত সঠিকভাবে টাইপকৃত মানের সুস্পষ্ট ব্যাখ্যা প্রদান করে।

Uno তে পাস করার সময় বস্তুটি স্বয়ংক্রিয়ভাবে সংশ্লিষ্ট টাইপের Any টাইপে রূপান্তরিত হবে। টাইপটি অবশ্যই এর সম্পূর্ণ যোগ্যতা সম্পন্ন Uno টাইপ নামে উল্লেখ করতে হবে।

LibreOffice API প্রায়ই Any টাইপ ব্যবহার করে থাকে। এইটি অন্য এনভায়রনমেন্ট থেকে ভ্যারিয়েন্ট টাইপের প্রতিরূপ। Any টাইপ একটি অযোক্তিক Uno টাইপ ধারণ করে এবং সাধারণ Uno ইন্টারফেসে ব্যবহৃত হয়।

## সিনট্যাক্স:

    oUnoValue = CreateUnoValue( "[]byte", MyBasicValue ) ' to get a byte sequence.

যদি CreateUnoValue উল্লেখিত Uno টাইপে রূপান্তর করা যায় না, এবং ত্রুটির উৎপত্তি হয়। রূপান্তরের জন্য, TypeConverter সার্ভিস ব্যবহৃত হয়।

ডিফল্ট বেসিক থেকে Uno টাইপে রূপান্তরের পদ্ধতি অপর্যাপ্ত হলে, ফাংশনটি ব্যবহার করার দরকার হয়। সাধারণ Any ভিত্তিক ইন্টারফেস প্রয়োগ করার চেষ্টা করার সময় এটি সংঘটিত হয়, যেমন, LibreOffice বেসিক থেকে XPropertySet::setPropertyValue( Name, Value ) অথবা X???Container::insertBy???( ???, Value )। যেহেতু, শুধুমাত্র সংশ্লিষ্ট সার্ভিসে নির্ধারিত হয়, তাই বেসিক রানটাইম এদেরকে শনাক্ত করতে পারে না।

এই অবস্থায়, LibreOffice বেসিকে রূপান্তর করতে চান এমন মৌলিক টাইপের জন্য সবচেয়ে মানানসই টাইপ নির্বাচন করে। যদিও, যদি ভুল টাইপ নির্বাচিত হয় তাহলে ত্রুটি দেখা দেয়। আপনি অজানা Uno টাইপের জন্য একটি মান তৈরি করতে CreateUnoValue() ফাংশন ব্যবহার করতে পারেন।

non-Any মান পাস করতেও আপনি এই ফাংশনটি ব্যবহার করতে পারেন, কিন্তু এটি সুপারিশকৃত নয়। যদি বেসিকে ইতোমধ্যেই কাঙ্খিত টাইপ জানা থাকে, তাহলে CreateUnoValue() ফাংশন ব্যবহার করলে তা অতিরিক্ত রূপান্তর প্রক্রিয়ার জন্য নেতৃত্ব দেয় যা মৌলিক সম্পাদনা ধীরগতি করে দেয়।