דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. חיבור DLL Interop דוטנט לתוכנה שכתובה בC++

חיבור DLL Interop דוטנט לתוכנה שכתובה בC++

מתוזמן נעוץ נעול הועבר תכנות
8 פוסטים 2 כותבים 516 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • clickoneC מנותק
    clickoneC מנותק
    clickone
    כתב ב נערך לאחרונה על ידי clickone
    #1

    למישהו יש נסיון עם חיבור DLL Interop דוטנט לתוכנה שכתובה בC++.
    את הDLL אני כתבתי.
    את התוכנה בC++ לא אני.
    אני צריך שכמות השינויים בC++ תהיה ממש מינורית ומזערית. (זה חברה שלא ששה כ"כ לשתף פעולה)
    ומצד שני יכולת לחשוף את הclass בשלמותו לC++.

    משהו כמו CreateObject מ VB יכול מאד לעזור (שם יש ממש יכולת לחשוף קלאסס שלם בלי לחבר אותו בפועל)

    למי שיש נסיון אשמח אם ישתף מהתובנות שלו.

    תודה רבה

    אין טסט כמו פרודקשן.

    המייל שלי urivpn@gmail.com

    תגובה 1 תגובה אחרונה
    0
    • yossizY מחובר
      yossizY מחובר
      yossiz
      כתב ב נערך לאחרונה על ידי yossiz
      #2

      למי שיש נסיון אשמח אם ישתף מהתובנות שלו.

      אין לי נסיון...
      רק רציתי להעיר שיש 2 טכניקות לחשוף class מ-dotnet ל-c++ כאשר שניהם לא צריכים שום שינוי ב-C++. מן הסתם זה ידוע לך... אבל מי יודע, אולי עזרתי לך או למישהו אחר.
      א. כל class ב-dotnet, יכול להיות אובייקט COM, כך שאפשר להשתמש בו מ-C++.
      ב. יש פה טכניקה, אולי זה יותר עבודה בשבילך אבל פחות עבודה לאלה שיצטרכו לתכנת מול ה-class שלך, כי זה נחשף כ-class רגיל של C++ ולא כאובייקט COM.

      📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

      clickoneC תגובה 1 תגובה אחרונה
      2
      • clickoneC מנותק
        clickoneC מנותק
        clickone
        השיב לyossiz ב נערך לאחרונה על ידי
        #3

        @yossiz
        מה שכתבת בא' זה מה שנקרא interop וע"ז שאלתי. כי החברה הזו טוענת שזה לא הולך להם כ"כ.

        לגבי ב זה גם נראה אינטרופ רגיל רק עם עוד טריק.
        אני עוד מעט יחקור יותר טוב מה הוא מציע שם.

        תודה בכל אופן!
        אם יש מישהו עם נסיון פרקטי, אני אשמח לשמוע כללים א-ב-ג וכו'.

        זה חברה שאני לא אמור לעבור עבורם. אלא רק לספק את הDLL בשבילם.
        הם אלו שאמורים לעבוד על הצד שלהם מצד אחד.
        מצד שני, זה ממש מעכב את הלקוח שלי שהם לא מסתדרים עם זה.... 😞

        אין טסט כמו פרודקשן.

        המייל שלי urivpn@gmail.com

        yossizY תגובה 1 תגובה אחרונה
        1
        • yossizY מחובר
          yossizY מחובר
          yossiz
          השיב לclickone ב נערך לאחרונה על ידי yossiz
          #4

          @clickone אמר בחיבור DLL Interop דוטנט לתוכנה שכתובה בC++:

          מה שכתבת בא' זה מה שנקרא interop וע"ז שאלתי. כי החברה הזו טוענת שזה לא הולך להם כ"כ.

          ברשותך, (למרות שחסר לי נסיון פרקטי), לא הבנתי. interop זה משהו שאתה אמור לעשות ל-DLL שיחשף כאובייקט COM. אם אתה עשית את שלך, (ואולי תכתוב hello world קטנטן לוודא שזה עובד), במה הם יכולים להסתבך? ואם הם עדיין מסתבכים מה יעזור שתשאל אתה? הם צריכים לשאול.

          @clickone אמר בחיבור DLL Interop דוטנט לתוכנה שכתובה בC++:

          לגבי ב זה גם נראה אינטרופ רגיל רק עם עוד טריק.

          ממש לא. זה טכניקה אחרת לגמרי, לכתוב DLL משולב native ו-CLR ביחד, ושזה יחשוף את ה-class שלך. התוצאה, שלגביהם זה נראה כ-class של C++ רגיל לגמרי, הם לא צריכים לדעת שהמימוש ב-dotnet. משא"כ ב-interop שזה נחשף כאובייקט COM שכידוע יותר מסובך לתכנת מולו.

          דרך אגב, התרגום של המילה interop זה "שיתוף פעולה". כך שזה מתאים לשתי הטכניקות 🙂

          📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

          clickoneC 2 תגובות תגובה אחרונה
          1
          • clickoneC מנותק
            clickoneC מנותק
            clickone
            השיב לyossiz ב נערך לאחרונה על ידי
            #5

            @yossiz
            זה חברה לא קטנה.
            מה שאני למדתי בתקופה האחרונה (עשיתי אינטגרציה עם כמה חברות כאלו. כולם גדולות פי כמה ממני [אני חברה של איש אחד והם מתחילות ב10 עובדים עד מאות עובדים]) שהחברות האלו רוצות לעבוד כמה שפחות. ואם לא תאכיל אותם בכפית, זה לא יעזור.
            הם פשוט יאמרו לך, לא עובד לי 😞 .
            תכלס, עד שלא הבאתי להם קוד C# להתממשק לAPI זה לא עזר והם "הסתבכו" איך להתחבר למערכת שלי.
            הDLL הזה אמור לפתור חלק מהבעייה. רק שחשבתי שזה יהיה להם פשוט להתחבר אל הDLL.
            מסתבר שגם בזה, אם אני לא אאכיל אותם בכפית, זה לא ילך 😞 😞

            עברתי שוב על הלינק השני, אני אנסה לממש אותו עוד מעט.
            בכל מקרה לא נראה לי שהוא מציג משהו שונה מאד מהקובץ tlb שהVS מביא.
            והוא אמור לחשוף באותה דרך +- את הקבצים.
            בכל מקרה, הסתכלתי על זה ממש מלמעלה, אני יעבור על זה שוב עוד מעט ואאעדכן.

            תודה רבה!!

            אין טסט כמו פרודקשן.

            המייל שלי urivpn@gmail.com

            תגובה 1 תגובה אחרונה
            0
            • clickoneC מנותק
              clickoneC מנותק
              clickone
              השיב לyossiz ב נערך לאחרונה על ידי
              #6

              @yossiz אמר בחיבור DLL Interop דוטנט לתוכנה שכתובה בC++:

              משא"כ ב-interop שזה נחשף כאובייקט COM שכידוע יותר מסובך לתכנת מולו.

              מהנסיון שלי לא מסובך לתכנת מולו.
              אולי למעט זה שצריך לרשום אותו כאובייקט. (גם לא תמיד)

              אין טסט כמו פרודקשן.

              המייל שלי urivpn@gmail.com

              yossizY תגובה 1 תגובה אחרונה
              0
              • yossizY מחובר
                yossizY מחובר
                yossiz
                השיב לclickone ב נערך לאחרונה על ידי yossiz
                #7

                @clickone אמר בחיבור DLL Interop דוטנט לתוכנה שכתובה בC++:

                מהנסיון שלי

                ב-C++? בדוטנט קל, ב-C++ זה קצת יותר מסובך.

                📧 יוסי@מייל.קום | 🌎 בלוג | ☕ קפה

                clickoneC תגובה 1 תגובה אחרונה
                1
                • clickoneC מנותק
                  clickoneC מנותק
                  clickone
                  השיב לyossiz ב נערך לאחרונה על ידי
                  #8

                  @yossiz
                  אממ צודק
                  התכוונתי מהצד של דוטנט
                  אבל לVB/VBA (שם זה ממש פשוט ועובד ממש מהקופסא)

                  מעולם לא בדקתי את הצד של C++ (אם כן מן הסתם לא הייתי צריך לשאול כאן 😛 )

                  אין טסט כמו פרודקשן.

                  המייל שלי urivpn@gmail.com

                  תגובה 1 תגובה אחרונה
                  1

                  בא תתחבר לדף היומי!
                  • התחברות

                  • אין לך חשבון עדיין? הרשמה

                  • התחברו או הירשמו כדי לחפש.
                  • פוסט ראשון
                    פוסט אחרון
                  0
                  • דף הבית
                  • קטגוריות
                  • פוסטים אחרונים
                  • משתמשים
                  • חיפוש
                  • חוקי הפורום