עבור לתוכן
Magic DevHub
irena

בניית אוביקט COM במג'יק

Recommended Posts

שלום לכולם !
אני מנסה לבנות COM אוביקט במג'יק 9.4 (לא WEB)
1.נתתי שם ציבורי לתוכנית ONLINE  מאפליקציה שלי.
2. נכנסתי לCOM BUILDER ובניתי אוביקט מסוג LOCAL ENGINEבשם PL לישום בשם PL (שם ישום בעברית לא התקבל).
3. הוספתי ל METHODS תוכנית של מג'יק עם שם ציבורי ופרמטרים.
4. בצעתי SETTINGS וGENERATE , קיבלתי PL.DLL
5. בצעתי register בWINDOWS.
6. כדי לבדוק איך זה עובד בניתי תוכנית מג'יק שבה הגדרתי משתנה OLE עם DLL שלי .
7. הפעלתי COM דרך מג'יק (הפעל שרות MagicEngineLoad,הצב מאפיין
 CommandLineParams=
'H:\magic9.4\mgrntw.exe /ini=H:\magic9.4\pl\magic.ini/StartApplication=1',
 הפעל שרות TM(תוכנית שאני מפעילה עם פרמטרם) והפעל שרות MagicEngineUnload .

הודעת שגיאה שאני מקבלת :Magic Requester : Error: "Failed to open Magic application file

קובץ log:
11:50:00.893     -     זרימה - בחר TM (צעד קדימה) לא בוצע
11:50:00.893     -     זרימה - בחר מספר ת"מ (צעד קדימה)
11:50:15.023     -     >> מעבד אירוע  לחיצה על פקד שם פקד :  N/A
11:50:15.023     -     זרימה - בחר מספר ת"מ (צעד קדימה)
11:50:15.023     -     >> אירוע (משתמש: הפעל) התחיל
11:50:15.023     -       זרימה - בצע COM : Method, Name: MagicEngineLoad 
11:50:15.023     -       >> Object name: TM , Object handle: 0x06833A00 (109263360)
11:50:22.514     -       >> Returned value: {VT_EMPTY}
11:50:22.514     -       >>  HRESULT = 0x0 (0) (The operation completed successfully.)
11:50:22.514     -       זרימה - בצע COM : Set Prop, Name: CommandLineParams 
11:50:22.514     -       >> Object name: TM , Object handle: 0x06833A00 (109263360)
11:50:22.524     -       >> Property value: {VT_BSTR "H:\magic9.4\mgrntw.exe /ini=H:\magic9.4\pl\magic.ini/StartApplication=..."}
11:50:22.524     -       >>  HRESULT = 0x0 (0) (The operation completed successfully.)
11:50:22.524     -       זרימה - בצע COM : Method, Name: tm 
11:50:22.524     -       >> Object name: TM , Object handle: 0x06833A00 (109263360)
11:50:22.524     -       >> Argument 1 name: tm, Value: {VT_I4 185464} BYREF
11:50:23.555     -       >>  HRESULT = 0x80020009 (-2147352567) (Exception occurred.)
11:50:23.555     -       >>  Error Source: Magic COM
11:50:23.555     -       >>  Error Description: Magic Requester : Error: "Failed to open Magic application file" (-130)
11:50:23.555     -       >>  Error HRESULT: 0x80330082 (-2144141182)
11:50:23.555     -       זרימה - בצע COM : Method, Name: MagicEngineUnLoad 
11:50:23.555     -       >> Object name: TM , Object handle: 0x06833A00 (109263360)
11:50:24.567     -       >> Returned value: {VT_EMPTY}
11:50:24.567     -       >>  HRESULT = 0x0 (0) (The operation completed successfully.)
11:50:24.567     -     << סיים אירוע

האם משהו עשה זות מתישהו ? מה התעוט שלי ?
אהיה שמחה לכל תשובה.

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

נסיון שלי לעזור

H:\magic9.4\mgrntw.exe /ini=H:\magic9.4\pl\magic.ini/StartApplication=1

H:\magic9.4\mgrntw.exe /ini=H:\magic9.4\pl\magic.ini @ StartApplication=1

הסימון בין הפרמטרים ל-INI אולי צריך להיות @ ולא / (זה מה שאני משתמש בדרך כלל)

שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

שולם תודה !
בכל זאת לא עובד (לא מקבל  שום פרמטר מCOMMAND LINE כולל מסלול ל magic.ini ).
אם אני משתמשת DEFAULT (ללא מסלול ל MAGIC.INI) קריאה של DLL ממג'יק מתחילה לעבוד(ללא פרמטרים לCOMMAND LINE.).
 אבל זה לא כל הבעיה. אם אני קוראת DLL שלי מVB (זה מטרה סופית של כל התרגיל) אני מקבלת הודעת שגיה TYPE MISMATCHבהעברת פרמטר לתוכנית מג'יק למרות שאני מעבירה מספר מסוג LONG כמו שכתוב בהגדרת פרמטר ב OBJECT .
האם משהוא כבר הצליח לעשות כזה דבר ?

אשמח לקבל תגובות.

תודה
אירנה


שתף אשכול


קישור ישיר להודעה
שתף באתרים אחרים

התחבר או הרשם על מנת להגיב.

עליך להיות משתמש רשום על מנת להגיב

צור חשבון

צור חשבון חדש בקהילה בקלי קלות.

רישום חשבון חדש

התחבר

משתמש קיים? התחבר.

התחבר עכשיו

×