के बीच टीवीरडाटा मतभेद मुझे x64 में टीवीरडाटा के बारे में कोई स्पष्टीकरण नहीं मिला। सहायता में एक पृष्ठ है लेकिन ऐसा लगता है कि x64 में टीवीरडाटा और x86 में टीवीरडेटा अलग हैं। वास्तव में मैं x64 लक्ष्य के लिए डीएचएचएल संकलित करने की कोशिश कर रहा हूं। (स्रोत TVarData है)x86 और x64 डेल्फी
Big := TBigCardinalVarData(Source).BigCardinalPtr^;
और TBigCardinalVarData यहाँ है:
TBigCardinalVarData = packed record
VType: TVarType;
Reserved1, Reserved2, Reserved3: Word;
BigCardinalPtr: PBigCardinal;
Reserved4: LongWord;
end;
यह 86 में संकलित है, लेकिन यह 64 में संकलित करने के लिए मना कर दिया लेकिन यह "अवैध समान किरदार" इस लाइन पर कहते हैं। मुझे लगता है कि समस्या वर्ड और लॉन्गवर्ड्स चर में है। लेकिन मैं इसे अभी तक नहीं समझ सका।
सही पढ़ा धन्यवाद। :) – oruchreis
मैंने '{$ IFDEF CPUX64} {$ ALIGN 8} {$ ENDIF} TBigIntegerVarData = {$ IFDEF CPUX86} पैक किया है {$ ENDIF} रिकॉर्ड ' – oruchreis