עבור לתוכן

איך אני יודע מתי copyfle מסתיימת ?

Featured Replies

פורסם

שפה דלפי.

הבעה שלי היא עם הפונקציה copyfile כשאני מנסה להעתיק איתה קובץ למחשב חוצי,רימוט,רשת.

הבעיה שזאת לא פונקציה חוסמת כאילו. אני לא יכול לדעת מתי היא מסתיימת אפילו עם אני בודק while not true

זה לא טוב בגלל שיכול להיות טיימאוט או שלא הצליח להעתיק אז שאלתי ? איך אני יכול לדעת מתי זה מסתיים ?

פורסם

שנה את הכותרת לכותרת עניינית לפי חוקי הפורום.

פורסם

כשאתה מעתיק איתה בכונן המקומי, האם היא חוסמת?

אני לא תכנתתי בדלפי מעולם ובוודאי לא מכיר את הפונקציה. מה שכן, לא יתכן שמישהו מימש non blocking i/o ולא סיפר לך על זה - הפונקציה עצמה חוסמת, לדעתי.

יתכן שהעניין הוא buffering נוסף במערכת ההפעלה בעת העתקת קבצים על גבי רשת, משהו בסגנון write back cache - אתה מעתיק, לכאורה הקובץ הועתק

אבל הוא בעצם נעצר באיזשהו buffer על ידי הnetwork file system במחשב, ומשם נכתב למחשב המרוחק בזמנו החופשי.

אה, כן, אם זה כמו שאני מתאר את זה, אין לך כלכך מה לעשות בנידון, למעט אולי פתיחת הקובץ עם דגלים שמרמזים על כוונתך לעבוד ללא cache.

אפשר לעשות את זה בVC (להעביר דגלים לCreateFile()).

פורסם

למרות שזה בדלפי, אני עדיין חושב שזו פונקציה של ה-API של windows.

עד כמה שידוע לי אתה לא יכול לשלוט כל copyfile ולדעת מתי היא מסתיימת. בשביל זה יש את CopyFileEx

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים