التطبيق باستخدام Tidftp غير ترحيل من دلفي 5 إلى دلفي 2009 ... التحميل الفاسد

StackOverflow https://stackoverflow.com/questions/1455629

  •  12-09-2019
  •  | 
  •  

سؤال

كتبت تطبيق Delphi 5 الذي يستخدم Tidftp. لقد كان يعمل عظيما لسنوات. إنه غرض فقط هو تحميل ملف Excel.

object ftp: TIdFTP
  OnStatus = ftpStatus
  IPVersion = Id_IPv4
  AutoLogin = True
  Host = 'somewhere.ca'
  Passive = True
  Password = 'guess'
  TransferType = ftBinary
  Username = 'xray'
  ProxySettings.ProxyType = fpcmNone
  ProxySettings.Port = 0
end

لقد هاجرت مؤخرا إلى دلفي 2009 منذ إعادة تحميل جهازي وذهب دلفي 5 الآن.

لا يزال التطبيق يبدو أنه يعمل ولكن - معظم الطرق من خلال ملف 1.5 ميغابايت، يصبح الملف تالفا. يبدو أنه تم حذف البايتات والملف الذي تم تحميله أقصر من الأصل (بحوالي 200 بايت).

كان فكرتي الأولى نوع النقل، لذا قمت بتعيينه إلى ثنائي ولكن أبعد من ذلك، لا أعرف.

أيه أفكار؟

شكرا! نائب

هل كانت مفيدة؟

المحلول

ما هو إصدار Indy الذي تستخدمه؟ هل جربت آخر واحد؟
أيضا، هل حاولت مع أنواع أخرى من الملفات (نص عادي، الملفات التنفيذية ...)

نصائح أخرى

هناك فرق كبير بين دلفي 5 ولدفي 2009 هو أن دلفي 2009 يستخدم Unicode. ربما كنت خلط يونيكود وغير يونيكود؟ تلقي ASCII، ولكن معاملة ذلك مثل UTF8 على سبيل المثال؟

مثل لك، فكرتي الأولى هي أن النقل لا يحدث ثنائي ... يبدو أن هذا أكثر عرضة بالنظر إلى متابعتك التي يقوم بتغيير اسم الملف بإصلاح المشكلة. هل لديك حزمة Sniffer التي يمكنك استخدامها لمتابعة محادثة FTP؟ من خلال القيام بذلك، ستتمكن من معرفة بالتأكيد ما إذا كان الوضع يتم تعيينه بشكل صحيح.

-اتشح

Delphi 5 لا يحتوي على مكون Indy مثبت بالفعل. لذلك، عليك تنزيله وتثبيته بنفسك. لم أحصل عليه أبدا للعمل. الآن، أنا أستخدم دلفي 7 وكان بالفعل مثبتة مسبقا. لذلك، لم يكن لدي مشكلة مع إندي. انها فقط عندما أقوم بتنزيله للاستخدام.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top