מה זה הCOM וה NET האלה???

yair24

Member
מה זה הCOM וה NET האלה???

כל הזמן אתם מדברים על COM וNET אולי אפשר לקבל הסבר מה זה? ראיתי פעם דוגמא בVB של תוכנית שפותחת את IE5 וכשלוחצים על כפתור אז הIE5 גולש לכתובת מסוימת והם אמרו שם שזה תכנות של IE5 בCOM יש קשר גם לדומיינים WWW.YOYO.COM ו WWW.YOYO.NET? או שזה סתם צרוף מקרים שלסיומות האלה יש את השם COM וNET? יאיר
 

TZURYOAV

New member
COM זה פרוטוקול תקשורת!

המאפשר שיתוף קוד בזמן ריצה בניגוד ל שיתוף קוד בזמן קומפילציה כמו שיש ב C++ קרא את הפרק הראשון בספר Essentail Com של דון בוקס ותבין את כל ההגיון מאחורי COM(בשביל להבין את המימוש יש להשקיע הרבה זמן) ניתן למצוא את הפרק הזה באינטרנט NET. זה הפלטפורמה החדשה של מיקרוסופט שמממשת את החזון של בילי וסטיבי תוכנה כשירות-זה הכל פשוט מאוד!(מהחזון נגזרות מספר טכנולוגיות) יואב צור אני מחכה לתגובות נזעמות ממי שלא מבין מה זה COM ואז אסביר את כוונתי
 

yair24

Member
../images/Emo46.gif זה הכי זועם שמצאתי...

אני אחפש את הפרק... תודה
 

TZURYOAV

New member
קבל את המאמר המצוין

שקראתי http://www.develop.com/tutorials/com/com_as_a_better_cpp.asp דורש LOGIN
 

yair24

Member
כתוב שם על יצירת מחלקה...

והכנסת המחלקה לתוך DLL זה נקרא COM? יאיר
 

TZURYOAV

New member
לא! לא! מה שהוא מנסה לעשות

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

TZURYOAV

New member
לא לא!! מה שהוא מנסה לעשות

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

yair24

Member
וואו יש שם בדיוק את מה ששאלתי...

לפני כמה ימים פה בפורום: שאלתי שאלה לגבי פעולת הMANGLE שמתבצעת על שמות הפונקציותורציתי דוגמא לשם כזה אז בבקשה:
??0CMyString@@QAE@PBD@Z //CMyString::CMyString(char const *) ??1CMyString@@QAE@XZ //CMyString::~CMyString(void) ?Find@CMyString@@QAEPBDPBD@Z //CMyString::Find(char const *) ?Length@CMyString@@QAEHXZ //CMyString::Length(void) Now look at the mangled names expected by the Borland C++ 4.02 compiler. @CMyString@$bctr$qpxc //CMyString::CMyString(char const *) @CMyString@$bdtr$qv //CMyString::~CMyString(void) @CMyString@Find$qpxc //CMyString::Find(char const *) @CMyString@Length$qv //CMyString::Length(void) Oh dear, things were going so well! Is there any solution to this problem? Solutions to Problem 1 : C++ method name mangling​
אני מקווה שהטריק יצא טוב אם לא אז אני אצרף בקובץ טקסט. יאיר
 

yair24

Member
הטריק שהתכוונתי..

הטריק שאמרתי זה הישור לצד שמאל של האנגלית... עכשיו כמו שאתם רואים הנה השמות שהפונקציות מקבלות לאחר הMANGLE וזאת הסיבה שכשיוצרים DLL בVC ובאים להשתמש בו בVB אז מתחילים מליון שגיאות שהשד יודע איך להיפטר מהם כל העניין הוא בשיטת הMANGLE וזהו... צריך לעשות תאום בין השיטה שVC משתמש בה לשיטה שVB יבין. יאיר
 

The_Mighty_Perr

New member
../images/Emo46.gifHm.........../images/Emo46.gif

Hi TZURYOAV! This is the first time i hear that COM is a communication protocol... I always thought that COM is what it is: A Component Object Model! A programming model for creating components using the OOP paradigm... COM dosen´t have anything to do with communication or networking... DCOM, maybe... Alex Karpman
 

TZURYOAV

New member
כי מרחב הדימויים שלך צר!

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

yariv~2

New member
יואב.

תוכל לתת הסבר יותר מעמיק? כי אני קורא את כל זה... ולא מבין כלום. הכוונה היא לפרוטוקול כללי שממנו יש תתי פרוטוקולים וכו´? אני מתכוון כמו מודל הייחוס OSI שזה כללי יותר...(OSI בכלל מומש אי פעם?)
 

TZURYOAV

New member
צא מזה זה לא קשור לתקשורת

במובן שאתה מכיר את המושג "תקשורת" השתמשתי במונחים מופשטים כי ככה אני חושב ומתכנת אני מתנצל אם הטעיתי חלק ממכם לגביך ההגדרה ש הקודם הביא(שכחתי להעתיק את שמו אני מתנצל) יותר טובה I always thought that COM is what it is: A Component Object Model! A programming model for creating components using the OOP paradigm... אני אולי אכתוב מאמר קצר,בכל מקרה הקישור שהבאתי שהוא הפרק הראשון מ ESSENTIAL COM הוא אחד ההסברים הטובים ביותר על המוטיווציה מאחורי COM
 

philips

New member
יש פרוטוקולי

תקשורת נתונים כללים המתאימים בדיוק למודל וניתן להגיד שהם מימושים של OSI.... אך מטיב היותו תקן של ISO (משחק מילים משעשע) , אין צורך ליצור ממנו פרוטוקולים..
 

yariv~2

New member
חידשת לי, לא ידעתי שמימשו אותו.

תוכל לפרט על מחסניות פרוטוקול שמתאימות למודל בצורה מוחלטת?
 

The_Mighty_Perr

New member
תגובה(סוף סוף יש לי עברית ב-WinXP)

בס"ד אמ.... אני מניח שאתה צודק, בנוגע לכך שיש לי מרחב דימויים צר, אבל(תמיד יש "אבל"...)- 1. מתכנתים הם אנשים חסרי דימיון
2. השפה העברית קצת מוגבלת, או שזה אני, אבל למלה "תקשורת יש אסוציאציה של communications & networking... 3.COM הוא בהחלט פרוטוקול, ובהחלט של תקשורת בין יישומים/רכיבים, אבל למשפט שאמרת היה צלצול לא כ"כ טוב... 4.COM הוא באמת פרוטוקול פשוט, והעיקר שהוא יפה, ברורף אלגנטיף הגיוני... בברכה...
 

gilad_no

New member
COM

כמו שבC++ יש לך מחלקות, בCOM יש לך ממשקים שזה כמו ההגדרה של המחלקה (זה גם מוגדר באותה צורה). כאשר התחלתי ללמוד COM קיבלתי דוגמה דיי נחמדה, אני אנסה לשחזר אותה כאן: נניח שיש לך חללית. היא מוגדרת לשם הפשטות משני ממשקים: תנועה ותצוגה. תחשוב על זה כמו צורה של קסטינג (זה לה מתבצע בדיוק כך, אבל זה יעזור לך להבין את הרעיון). אם יש לך אובייקט של חללית: CSpaceShip Ship; IMotion *pMotion=(IMotion*)Ship; IDisplay *pDisplay=(IDisplay*)Ship; pMotion->SetPosition(x,y); pDisplay->Draw(); את הממשקים אתה מקבל בעזרת פונקציה מיוחדת (QueryInterface) ולא באמצעות קסטינג, אבל זה היה רק לשם הפשטות. כל אובייקט יכול לממש ממשקים מסוגים שונים והיתרון שניתן להוסיף ממשקים לאובייקט מבלי לפגוע בתוכניות אחרות שתלויות בו. נניח שכתבת תוכנית שיודעת להשתמש בחללית הנ"ל. היא מזיזה אותה ומציגה אותה. ועכשיו בתור המפתח, הוספת עוד ממשק לחללית. התוכנית המקורית שכתבת תמשיך לפעול, היא אומנם לא תכיר את הממשק החדש אבל היא תוכל להמשיך לפעול באמצעות הממשקים הישנים ותוכניות חדשות שייכתבו מעתה ואילך יוכלו לנצל גם את הממשק החדש. הממשקים הם בעצם דרכים שונות לגשת לאותו אובייקט.
 
למעלה