मुझे पूछने के लिए एक लंबा सवाल है। डेल्फी प्रोग्रामिंग की बात करते समय सबसे पहले मैं बहुत नया हूं और मेरे अनुभव में ज्यादातर एडीओ और एक्सेस डेटाबेस का उपयोग करके छोटे एकल उपयोगकर्ता डेटाबेस अनुप्रयोगों का विकास होता है।डेल्फी क्लाइंट-सर्वर एप्लिकेशन फ़ायरबर्ड 2.5 एम्बेडेड कनेक्शन त्रुटि का उपयोग कर
मुझे अब क्लाइंट सर्वर एप्लिकेशन में संक्रमण लेने की आवश्यकता है और यही वह समस्या है जहां समस्या शुरू होती है। मैंने अपने डेटाबेस के रूप में एम्बेडेड फायरबर्ड 2.5 का उपयोग करने का निर्णय लिया, क्योंकि यह ओपन सोर्स है, और इसका उपयोग डेल्फी में इंटरबेस घटक के साथ किया जा सकता है और कई क्लाइंट डेटाबेस को एक साथ एक्सेस कर सकते हैं। तो मैंने डेल्फी में इंटरबेस ट्यूटोरियल का पालन किया। मैं क्लाइंट को सर्वर से कनेक्ट करने और उदाहरण में डेटा देखने में कामयाब रहा (हालांकि दोनों मेरे पीसी पर चल रहे हैं), लेकिन जब मैंने क्लाइंट को दूसरे पीसी पर ले जाने की कोशिश की, तो सर्वर को मेरा रखकर और यह देखने के लिए चला कि मैं सर्वर से कनेक्ट कर सकते हैं यह मुझे निम्नलिखित त्रुटि दी।
0029DCAC पर मॉड्यूल क्लाइंट Demo.exe में अपवाद EIdSocketError। सॉकेट त्रुटि # 10061 कनेक्शन से इनकार कर दिया।
मैं समझता हूं कि ऐसा इसलिए हो सकता है क्योंकि मेजबान को क्लाइंट में लोकलहोस्ट के रूप में परिभाषित किया जाता है। लेकिन यहां मेरा पहला सवाल है। TSQLConncetion में आप ड्राइवर-> होस्टनाम के तहत मर होस्टनाम सेट कर सकते हैं। जो चीज़ मैं जानना चाहता हूं वह यह है कि आप इसे रन टाइम पर कैसे करते हैं, क्योंकि जब मैं कोशिश करता हूं और एक संपादन बॉक्स बना देता हूं, तो उपयोगकर्ता को मूल्य दर्ज करने की अनुमति देने के लिए और फिर इसे कोड के माध्यम से सेट करें: उदाहरण के लिए:
SQLConncetion1.Driver.Hostname: = edtHost.text; यह इस तरह से नहीं किया जा सकता है और एकमात्र तरीका है कि मैं देखता हूं कि आप मेजबाननाम ऑब्जेक्ट इंस्पेक्टर के साथ सेट कर सकते हैं, लेकिन यह रनटाइम पर उपलब्ध नहीं है और जब प्रोग्राम पहली बार चल रहा है, तो मुझे क्लाइंट पर होस्टनाम सेट करने की आवश्यकता है, तो आप रनटाइम पर होस्टनाम/आईपी पता कैसे सेट करते हैं?
इम का उपयोग कर डेल्फी XE2
अभी भी आने के लिए विशेष रूप से जब यह तैनाती की बात आती सवालों का एक बहुत है, लेकिन मैं टुकड़ा द्वारा इस टुकड़े का समय लगेगा और मैं सलाह की सराहना करते हैं।
पहिया बदलने मत करो। आपके पास ओपन सोर्स क्लाइंट-सर्वर ओआरएम है जो जेएसओएन और एसक्यूएलसाइट 3 का उपयोग कर सर्विस-ओरिएंटेड-आर्किटेक्चर के साथ है [mORMot] (http://synopse.info/fossil/wiki?name=SQLite3+Framework)। कुछ डिज़ाइन या कार्यान्वयन विचार प्राप्त करने के लिए कम से कम कोड को देखने या 700 पृष्ठों के दस्तावेज़ों को पढ़ने के लायक हैं। –