الصورة توضح رسالة الخطأ
![[صورة: attachment.php?attachmentid=3716&d=1351597084]](http://www.delphi4arab.net/forum/attachment.php?attachmentid=3716&d=1351597084)
السلام عليكم...
السبب هو الاختلاف في تفسير Char بين نسختي دلفي. لديك أحد حلين:
1. أضف حرف W على نهاية اسم الدالة GetVolumeInformation لتصبح GetVolumeInformationW.
2. أو استعمل Char بدل WideChar و PChar بدل PWideChar (في تعريف المتغيرات و في سطر استدعاء الدالة GetVolumeInformation).
* أعتقد أن الطريقة الأولى (إضافة حرف W) أنجح مع Delphi 7.
سلام.
![[صورة: attachment.php?attachmentid=3718&stc=1&d=1351604149]](http://www.delphi4arab.net/forum/attachment.php?attachmentid=3718&stc=1&d=1351604149)
الصورة تظهر البرنامج بعد حل الاشكال السابق
لا أدري أين الخلل.... فالاسم لا يظهر
![[صورة: attachment.php?attachmentid=3719&stc=1&d=1351604149]](http://www.delphi4arab.net/forum/attachment.php?attachmentid=3719&stc=1&d=1351604149)
الصورة الثانية لخلل عند تشغيل البرنامج ... و قد قمت بحذف السطر كي يعمل البرنامج.... و لست أدري ان كان له دور هام
الحل الثاني احسن
كود :
VolName: array[0..MAX_PATH] of [color=red]Ansi[/color]Char;
PVolName: P[color=red]Ansi[/color]Char;
و
كود :
GetVolumeInformation[color=Red]A[/color](P[color=red]Ansi[/color]Char(AList[Idx]), PVolName, MAX_PATH + 1, nil, MaxCompLen, FSFlags, nil, 0);
حل الاشكال ...................كل شيء تمام
بارك الله فيك أخي B.M.AbdelAziZ و الشكر موصول للأخ Najy Ibraheem
تأكد أكثر
جرب برنامجك باصدارات ويندوز مختلفة
Windows XP/7/8 و 32/64Bits
شكرا على التنبيه.........
سيتم التأكد من باقي الاصدارات لاحقا