نسل ساختار کتاب کار بارگذاریشده
نسلهای ساختاری به خواننده امکان میدهند تصاویر لحظهای کمهزینه نگه دارد و پس از تغییر توپولوژی کتاب کار که بدان وابسته است، پیمایش را رد کند
منابع نسل
| موتور | نسل مخزن سلول | نسل مجموعه کاربرگها |
|---|---|---|
| Classic XLS | TXLSWorksheet.CellStructureGeneration | TXLSWorksheets.StructureGeneration |
| XLSX | TXLSXWorksheet.CellStructureGeneration یا TXLSXCells.StructureGeneration | TXLSXSheets.StructureGeneration |
هر یک از این ویژگیها مقدار UInt64 فقطخواندنی است و میزان دقیق تغییر آن قراردادی نیست
عملیات بیاعتبارکننده
ساخت، حذف یا خالیکردن سلولهای ذخیرهشده وقتی توپولوژی واقعاً تغییر کند، نسل مخزن سلول را تغییر میدهد
درج یا حذف سطر و ستون، جابهجایی مختصات، الحاق یا عینیتبخشی بستهبندیشده و بازسازی صریح اندیس سلول نیز وضعیت پیمایش مخزن سلول را بیاعتبار میکند
افزودن، حذف، جابهجایی یا خالیکردن کاربرگها وقتی مجموعه واقعاً تغییر کند، نسل مجموعه کاربرگها را تغییر میدهد
عملیات غیربیاعتبارکننده
تغییر مقدار، فرمول، مقدار ذخیرهشده در حافظه پنهان یا قالب یک سلول موجود، نسل مخزن سلول آن را تغییر نمیدهد
تغییر نام یا فعالسازی کاربرگ نسل مجموعه کاربرگها را تغییر نمیدهد و جابهجاییهای بیاثر، حذفهای ناموجود یا خالیکردن مجموعهای که از قبل خالی است، نسل جاری را حفظ میکنند
اعتبارسنجی
پیش از پیش بردن یا خواندن وضعیت پیمایشی که برای نسلی قدیمیتر ساخته شده، XlsValidateStructureGeneration را فراخوانی کنید
عدم تطابق استثنای EXLSLoadedCellCursorInvalidated را ایجاد میکند تا فراخوان بتواند بیاعتبارسازی ساختاری را از خطاهای داده یا قالب تشخیص دهد
ExpectedGeneration := Worksheet.CellStructureGeneration;
{ Read or retain traversal state }
XlsValidateStructureGeneration(
ExpectedGeneration,
Worksheet.CellStructureGeneration);
مکاننمای کتاب کار کلاسیک
IXLSWorkbook.CreateLoadedCellCursor نسل تجمعی کتاب کار کلاسیک را ثبت و پیش از هر فراخوانی MoveNext و Current آن را اعتبارسنجی میکند
مکاننما مستقیماً شاخههای تخصیصیافته ذخیرهسازی خلوت را میپیماید، وضعیت مکاننما ثابت است و مقادیر TXLSLoadedCellSnapshot متعلق به فراخوان برمیگرداند
سربارگذاری بولی تثبیت میکند که آیا سلولهای خالی ذخیرهشده سبکدار بهاستقلال گنجانده شوند یا نه؛ قالبهای بهارثرسیده سطر، ستون و کاربرگ مدخل خالی در مکاننما نمیسازند
مکاننمای کتاب کار XLSX
TXLSXWorkbook.CreateLoadedCellCursor اجاره عمر کتاب کار و نسل توپولوژی تجمعی مشترک میان همه مخازن سلول کاربرگ و مجموعه کاربرگها را ثبت میکند
مسیر عینیتیافته بلوکهای سطر خلوت را مستقیماً میخواند، در حالی که مسیر بستهبندیشده تکرارکننده بستهبندیشده را دوباره به کار میگیرد بدون آنکه سلولها عینیت یابند یا اشارهگرهای داخلی در تصاویر لحظهای نگه داشته شوند
سربارگذاری بولی میتواند در هر دو بازنمایی ذخیرهسازی، سلولهای خالی فقطسبکدار ذخیرهشده را بگنجاند، در حالی که جایگاههای Empty و Null بدون سبک همچنان مستثنا میمانند
آزاد کردن کتاب کار، اجاره آن را پیش از آزاد شدن ذخیرهسازی کاربرگها بیاعتبار میکند، بهطوری که دسترسی بعدی به مکاننما استثنای EXLSLoadedCellCursorInvalidated را ایجاد میکند
مرز همزمانی
بررسیهای نسل فقط تشخیص شکست-سریع فراهم میکنند و تغییر همزمان کتاب کار و پیمایش را از نظر ایمنی رشتههای اجرا ایمن نمیسازند