כתיבת DLL בויז´ואל C

siftach

New member
כתיבת DLL בויז´ואל C

נפל לידי פרויקט, שבו עלי לכתוב DLL בויז´ואל C, וה-DLL הזה אמור להיות נגיש למתכנתים בויז´ואל בייסיק. עך ה-DLL לייצא פונקציות וקבועים (אין משתנים). איך עושים את זה? מספיק ליצור פרויקט של DLL? הקבועים שלי הם למעשה קבועים מתוך ספריה קיימת (קובץ LIB). האם ניתן לחסוך בהגדרת הקבועים ופשוט לבקש מהמתכנת לפנות לספריה הקיימת? תודה מראש, יפתח
 

TZURYOAV

New member
חפש VB4DLL.TXT או VB4DLL.EXE

השני הוא התקנה של מאמר שמסביר הכל על העברת פרמטרים בין VB ל DLL בהצלחה
 

TZURYOAV

New member
אני מאוד מודה לך על הקרדיט שאתה

נותן לי!!!!! המסמך אכן הגיע עם VB4 אך כיוון שVB4 ועד VB6 כולם נועדו לפיתוח תחת 32 BIT רוב המסמך עדיין מעודכן וראוי שייקרא ע"י כל מתכנת,דרך אגב השמועות על מסמך דומה ל VB5 ו VB6 הוכחו כבלתי נכונות....סתם כנראה שאיפשהו יש מסמך כזה גם ל VB5 לא הצלחתי למצוא אותו למרות שימוש בקשרים פנימיים שיש לי במיקרוסופט... הסר דאגה מליבך! יואב צור
 

siftach

New member
אז מה עושים?

פשוט מתעלמים מכל מה שקשור לתכנות ב-16 ביט?
 

TZURYOAV

New member
זה דבר הגיוני לעשותו,בקשר

לקבועים,המסמך מתאר יצירת TYPELIBRARAY ל DLL כך שהמשתמש לא צריך לקרוא לפונקציה בעזרת DECLARE אלא להוסיף את ה TYPELIBRARY ל REFERENCE ואז תהיה לא גישה ישירה לפונקציות ולקבועים יואב צור
 

siftach

New member
לא לזה התכוונתי

התכוונתי לכך שיש מבנים המוגדרים על ידי ספריה (קובץ LIB) חיצונית. אבל עכשיו יש לי בעיה אחרת - הידרתי את ה-DLL, אבל VB נותן לי שגיאה "Cannot find DLL entry point", כלומר: הוא לא יודע לגשת לפונקציה. את הפונקציה הגדרתי עם (declspec (dllexport_, או עם שני קווים תחתיים (מה ההבדל?), וזה לא עוזר. רעיונות?
 

siftach

New member
חשבת שנפטרת ממני?

איך מעבירים מחרוזות בצורה נורמלית? מצידי שיעברו בצורה לא נורמלית, אבל שאני אוכל להפוך אותן למחרוזות נורמליות (ולהיפך) ב-VC. בדוגמא יש רק מחרוזות שעוברות מ-VB ל-VB.
 

TZURYOAV

New member
מחרוזות ב VB הן BSTR

כל המחרוזות ב VB מיוצגות בעזרת מבנה BSTR על מנת לעבד מבנה זה (להלן "מחרוזת") WINDOWS מספקת API כגון SysAllocString SysReAllocString וכדומה כמו כן VC מספק מספר מקרואים כגון OLE2T או OLET2A שעוזרים לעשות המרות בכל מקרה בקובץ שציינתי יש דוגמאות להעברת BSTR אם יש לך שאלות ספציפיות תוכל לשאול. תודה יואב צור
 
למעלה