संभव डुप्लिकेट:
Reference object instance created using “with” in Delphiआप एक कथन में बनाए गए TQuery ऑब्जेक्ट का संदर्भ कैसे प्राप्त करते हैं?
एक विधि है कि मैं डेल्फी में क्वेरी वस्तुओं बनाने के लिए उपयोग पहले कोड नमूना इस प्रकार है। यह मुझे ऑब्जेक्ट का संदर्भ देता है और फिर ऑब्जेक्ट को फ़ंक्शन पर पास कर सकता है।
procedure SomeProcedure;
var
qry: TQuery;
begin
qry := TQuery.Create(nil);
with qry do
begin
Connection := MyConn;
SQL.Text := 'SELECT * FROM PEOPLE';
Open;
funcDisplayDataSet(qry);
Free;
end;
end;
क्या यह किसी भी कथन में ऐसा करना संभव है जहां आपकी बनाएं ऑब्जेक्ट के साथ कथन में निहित है?
procedure SomeProcedure;
begin
with TQuery.Create(nil) do
begin
Connection := MyConn;
SQL.Text := 'SELECT * FROM PEOPLE';
Open;
funcDisplayDataSet(???); // Here I'm unsure how to pass the object created...
Free;
end;
end;
क्या मैं इस गतिशील वस्तु को 'funcDisplayDataSet (TQuery) जैसे फ़ंक्शन पर पास कर सकता हूं?
मैं सिर्फ अगर यह संभव हो सकता है पता करना चाहते हैं। मैं सारांश की तलाश नहीं कर रहा हूं कि क्यों बयान खराब या अच्छा है। कि चर्चा के साथ StackOver प्रवाह पर अन्य पोस्ट नहीं है। *
+1, हालांकि मुझे लगता है वहाँ इसके लिए कोई तरीका नहीं है कि यह बिल्कुल स्पष्ट/स्पष्ट रूप से, अगर बिल्कुल। यदि समाधान कुछ वूडू साबित होता है जो अगले व्यक्ति को जाना होगा और देखें कि आपने यह कैसे किया है, तो आपको यह नहीं करना चाहिए। –
ही यहाँ सवाल [संदर्भ वस्तु उदाहरण-निर्मित-का उपयोग कर-साथ-इन-डेल्फी] (http://stackoverflow.com/questions/791181/reference-object-instance-created-using-with-in-delphi) , सिकंदर द्वारा प्रदान किए गए एक समाधान के साथ। –
बस एक स्थानीय चर का उपयोग करें और बाहर ले जाएं।यदि आप कुछ बुराई हैक करते हैं, तो बस वहां को रखने के लिए, तो मुझे आपको ट्रैक करना होगा, और आपको पैंट करना होगा। –