View Full Version : استفاده از Delphi DLL در #C
yasser_ebrahimi
شنبه 04 خرداد 1392, 21:54 عصر
با عرض سلام و خسته نباشید خدمت اساتید گرامی
من یک برنامه دارم که دو بخشه، یک بخش دلفی و یک بخش #C. حالا یک DLL نوشتم واسه رمز کردن و فشرده سازی رشته، که بدون مشکل توی دلفی DLL رو وارد کردم و کار میکنه، اما وقتی میخوام از این DLL توی #C استفاده کنم از خروجی تابع که از نوع AnsiString است ایراد میگیره. در واقع نوع داده AnsiString رو گویا نمیتونه به System.String دات نت تبدیل کنه.
بهروز عباسی
شنبه 04 خرداد 1392, 22:50 عصر
توی فیلم های اقای عشایری توضیح داده
24 ساعت فیلم آموزشی دلفی به زبان فارسی در قالب 47 درس (http://barnamenevis.org/showthread.php?389912)
کتابخانه پیوند دینامیکی یا DLL (بخش پنجم : سازگاری با زبانهای برنامه سازی دیگر) (http://www.irstu.com/wp-content/uploads/Education/Academic/Software%20Engineering/Advanced%20Programming/Delphi/StepByStep/47[www.irstu.com].zip)
yasser_ebrahimi
یک شنبه 05 خرداد 1392, 08:42 صبح
خیلی ممنونم که توجه کردید، اما من همه تاپبک های آقای عشایری رو مطالعه کردم اما مشکلم حل نشد. من توی Delphi Prism مشکل ندارم براحتی DLL را CALL میکنم چون نوع داده ای Delphi Prism و Delphi به هم نزدیکن، اما با #C همچنان مشکل دارم. جایی دیدم که آقای کرامتی اشاره کرده بودن که باید از بایت استفاده کرد در این مواقع. اما من هم از TByte استفاده کردم هم از Stream اما نشد باز
BORHAN TEC
یک شنبه 05 خرداد 1392, 09:12 صبح
سلام
از کدام نسخه دلفی و کدام نسخه دات نت استفاده می کنید؟
در ضمن، اگر در آن ویدئو دقت کنید خواهید دید که بنده در سمت دلفی از نوع داده PWideChar و در سمت دات نت از WideString استفاده کرده ام. من الان روی این سیستمی که دارم باهاش کار می کنم VS رو به صورت نصب شده ندارم که تست کنم ولی اگر در سمت دلفی از PAnsiChar استفاده کنید و در سمت دات نت هم از AnsiString استفاده کنید بعید می دانم که مشکل شما حل نشود! :چشمک:
کتابخانه پیوند دینامیکی یا DLL (بخش پنجم : سازگاری با زبانهای برنامه سازی دیگر)
بهروز خان، اون سایت اجازه دانلود مستقیم نمیده! :لبخندساده:
yasser_ebrahimi
یک شنبه 05 خرداد 1392, 10:26 صبح
با سلام و وقت بخیر خدمت آقای عشایری
از کدام نسخه دلفی و کدام نسخه دات نت استفاده می کنید؟
دلفی EX2
در سمت دلفی از نوع داده PWideChar و در سمت دات نت از WideString استفاده کرده ام.
من به دلیل نوع کدی که توی دلفی دارم نتونستم نوع داده ای دیگه ای بجز AnsiString استفاده کنم. از طرفی تسلطم به نوع داده ای رشته ای توی دلفی EX کمه.
بهروز خان، اون سایت اجازه دانلود مستقیم نمیده!
با تشکر از زحمتاتون من دیشب همه ویدئوهاتونو دانلود کردم مستقیم و تا صبح بیدار بودم نگاشون کردم
yasser_ebrahimi
یک شنبه 05 خرداد 1392, 10:29 صبح
در سمت دات نت هم از AnsiString استفاده کنید بعید می دانم که مشکل شما حل نشود!
آقای عشایری منظورتون از این AnsiString چی بود؟ مگه دات نت AnsiString داره؟؟؟
BORHAN TEC
یک شنبه 05 خرداد 1392, 13:24 عصر
آقای عشایری منظورتون از این AnsiString چی بود؟ مگه دات نت AnsiString داره؟؟؟
نداره. منظورم CharSet مربوطه بود که چند تا حالت داره: UniCode و AnsiString و Auto و ... .
اگه به جدول زیر نگاه کنی مشکل حل میشه:
http://www.netcoole.com/delphi2cs/datatype.htm
yasser_ebrahimi
یک شنبه 05 خرداد 1392, 13:55 عصر
با سپاس فراوان از دوستان و اساتید، با راهنماییتون مشکلم حل شد و چیزای زیادی یاد گرفتم
Valadi
یک شنبه 05 خرداد 1392, 16:33 عصر
با سلام
مشكل تون حل شد چه بهتر
من اين كار زياد كردم از دلفي به #C خيله راحته شما از هر نسخه اي از دلغي به #C
ورژن دلفي مهم نيست در dll رشته مفهومي ندارد به آن شكلي كه هر دو زبان استفاده مي شود شما بايد در دلفي بصورت pchar كار كنيد
yasser_ebrahimi
یک شنبه 05 خرداد 1392, 17:25 عصر
ورژن دلفي مهم نيست در dll رشته مفهومي ندارد به آن شكلي كه هر دو زبان استفاده مي شود شما بايد در دلفي بصورت pchar كار كني
میتونم خواهش کنم یکم بیشتر توضیح بدید؟
من بنا به گفته آقای عشایری از PWideChar و در سمت دات نت از WideString استفاده کردم
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.