delphi records and c structs -
कार्य:
डेल्फी में लिखा गया अनुप्रयोग एक संरचना स्वीकार करता है ( तीन क्षेत्रों के रिकार्ड
डेल्फी के मामले में)। मैं SendMessage
(Win32 API) फ़ंक्शन का उपयोग करके इस संरचना के सूचक को भेज सकता हूं।
तो एक सवाल यह है:
कैसे डेल्फी के मामले में डेल्फी के लिए स्मृति में कुछ संरचना प्रतिनिधित्व बनाए रखने के लिए?
इसका प्रकार है
PWPModPostData = ^ TWPModPostData; TWPModPostData = रिकॉर्ड डेटाटाइप: पूर्णांक; डेटा: पीसीर; अगला: PWPModPostData; समाप्त;
इसे सी में कैसे परिभाषित किया जाए? मेरा मतलब है, क्या डेल्फी संरचनाओं में कोई छुपा हुआ या सेवा क्षेत्र है?
नहीं, कोई छिपा हुआ फ़ील्ड नहीं हैं , और डेल्फी रिकॉर्ड्स और सी स्ट्रैक्ट्स को एक-दूसरे से 1: 1 में मैप किया जा सकता है, कुछ चेतावनियों के साथ:
-
किसी भी डेटा प्रकार का उपयोग न करें सी को समझ में नहीं आ रहा है। इसमें ऑब्जेक्ट्स, डायनामिक एरेज़ और डेल्फी स्ट्रिंग्स शामिल हैं।
-
सी और डेल्फी कभी-कभी अलग-अलग विचार करते हैं कि कैसे बाइट-संरेखित फ़ील्ड अपने रिकॉर्ड की जांच करें और सत्यापित करें कि वे सी तरफ काम करते हैं। यदि वे ऐसा नहीं करते हैं, तो रिकॉर्ड के बजाय पैक रिकॉर्ड का उपयोग करने का प्रयास करें।
-
जब से एक रिकॉर्ड से एक सूचक सी को डेल्फी या इसके विपरीत, सुनिश्चित करें कि इसे प्राप्त करने वाला पक्ष स्मृति को मुक्त या पुनः आवंटित करने का प्रयास नहीं करता है यह उस मेमोरी मैनेजर से है जो इसे बनाया है।
Comments
Post a Comment