פורסם 2005 בנובמבר 2320 שנים שלום לכולם.אני מחפש דרך לבצע אינטגרציה בין C++ ל VB, כלומר לייצא אובייקטים (class) מתוכנית הכתובה בשפת C++לתוכנית הכתובה בשפת VB. סביבת העבודה היא visual studio 6. שמעתי על פתרונות כגון activex או COM, אבל מאחר שאין לי ניסיון איתם אשמח לרעיונות.
פורסם 2005 בנובמבר 2320 שנים אתה עובד עם כלים די מיושנים, אבל אם אתה מתעקשתדאג לחלוקה הגיונית בין 2 סביבות הפיתוח כך שבכל סביבה תפתח מה שהיא חזקה בוVB חזקה מאוד במה שקשור לממשק משתמש GUI , הרבה יותר פשוט , זמן פיתוח הרבה יותר מהיר.VC++ טובה יותר לכתיבת COM Object , כתיבת שרתים, שכבות תוכנה נמוכות יותר, כל מה שלא GUI כמו טיפול בקבצים, מסדי נתונים, משימות RealTime ו- Multithreadingאחרי שהחלטת מה אתה עושה איפה, לרוב תגיע למצב שתיהיה לך תכנית ב- VB שמשתמשת באיזשהו DLL שנכתב ב- C++ (ולא ההפך)אתה צריך לפתוח פרוייקט COM ב- C++ להגדיר את כל החלקים הפרטיים שהאובייקט שלך מבצע ולבסוף את הפונקציות הציבוריות שניתנות לגישה מ- VBמקמפל את פרוייקט ה- C++ב- VB אתה הולך לתפריט tool=>References ומוסיף את ה- DLL שנוצר מפרוייקט ה- C++עכשיו כאשר אתה מגדיר אובייקט מהסוג שמוגדר ב- DLL אתה אמור לראות את כל הפונקציות הציבוריות שהגדרת לו
פורסם 2005 בנובמבר 2320 שנים מחבר טוב אז קדם כל המערכת בנויה פחות או יותר כפי שאמרת - דרייבר שכתוב ב C++ וGUI שכתוב ב VB. הרעיון או קי נשמע נחמד, רק יש לי כמה שאלות בנושא: - האובייקטים שאני מיצא לא מכילים טיפוסים פשוטים, בחלקם ישנן מצביעים, בחלקם אובייקטים מקוננים ובאחרים אובייקטים מה STL. כמה מסובך יהיה לכתוב לכל אחד מהם COM משלו? - האם הממשק יהיה הפוך, כלומר האם אוכל למלא את האובייקטים בנתונים ולהעבירם לתוכנית C? נ.ב כן אני יודע שהכלים לא הכי חדישים, ושב .net הכל יותר פשוט, אבל איך נגדיר את זה.....הוראות מלמעלה...
פורסם 2005 בנובמבר 2320 שנים זה לא אמור להיות מסובך, רק שאני די חלוד ב- ++VC ומזמן הסרתי אותו מהמחשב שליקודם כל אני מקווה שאתה כותב Object Oriented כלומר הכל אצלך ב- class - ים ולא פונקציות חופשיות כמו ב- Cדבר שני ממה שאני זוכרכאשר אתה עומד ב- VC++ על פרוייקט COM ועושה קליק ימני צריכה להיות לך אופציה של הוספת IntrefaceIntrafce זה סוג של class מאוד "דק" כלומר הוא כמעט לא מכיל שום לוגיקה אלא משמש כמתווך לעולם החיצוןוב- Intraface אתה אמור להגדיר את אותן פונקציות ציבוריות שנגשות ל- class - ים הפרטיים בתוך הפרוייקט וקוראות לפונקציות שלהןפרוייקט ה- VB שלך אמור "לראות" רק את ה- interface שהגדרתלא רק VB ידע להפעיל את האובייקט שלך כי אם כל סביבה אחרת ש-"מכירה" את הפרוטוקול של COM, כמו Delphi, C++Builder ויש גם כמה סביבות C
פורסם 2005 בנובמבר 2320 שנים מחבר כן הפעם הכל כתוב ב OO - למדתי מספיק מטעויות עבר...וגם interfance זה לא דבר חדשאז אני מתאר לעצמי שכל מה שנשאר זה ללמוד קצת את הנושא. תודה על העזרה.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.