שאלות:

kernel32

New member
שאלות:

מה יותר נכון, יותר יעיל, יותר מקובל...: 1. שלפקדים יהיה CAPTION או משתנה שיאותחל עם טעינת התוכנית? 2. שליחה לפונקציה BYVAL או BYREF (מי שואב פחות משאבי מערכת?) 3. לתת לטופס אייקון או לאתחל אייקון בזמן ריצה? 4. לפתוח Connection בכל פניה למסד הנתונים או לפתוח אחד בתחילת היישום? קרנל.
 

philips

New member
המממ.אנסה

חלק מהדברים בדוקים וחלק לא... לגבי BYVAL/BYREF -- כל המלצות הקוד ל VB המליצו על BYVAL כעדיף..(ספרים) לפקדים תמיד יהיה CAPTION...מה הכוונה בדבריך לגבי משתנה? 3. אין לי מושג ולא נראה לי שההבדל גדול... 4. תלוי בהתאם לצרכיך...ומה קורה בישום , אחזקת ה CONNECTION אינה בעייתית...הבעייה היא מה קורה איתו בהמשך...
 

antidot

New member
אולי אני לא לגמרי צודק אבל...

להעביר אובייקטים גדולים BYVAL ? הגזמה פראית לדעתי וניצול לרע של משאבי המערכת. אולי התשובה שלי נכונה רק ל C C++ אבל BYVAL מעבירים משתנים כשרוצים להבטיח שהפונקציה לא תשנה את ערך המשתנה. BYREF מעבירים כדי לאפשר שינוי של המשתנה (בגדול ובערבון מוגבל. אני לא אכנס לדקויות) לגבי CONNECTION : תמיד רצוי לצמצם את מספר הCONNECTIONS הפתוחים יש להמעיט להשתמש בCONNECTION פתוחים מכמה סיבות: - יש לדאוג כל פעם לסגירה שלו והריסה של אובייקטים. - חיבור שלא נסגר ע"י האפליקציה דומה לתופעה של זליגת זיכרון, הוא בעצמם ממשיך להחזיק חיבור אקטיבי פתוח ועם השרת SQL למשל פירושו החזקה של רישיון נוסף בשימוש (בהנחה שהרישיונות הם PER CONNECTION) - יש מקרים בהם שרתי SQL נאלצים לעבוד דרך NAMED PIPES (דוגמא: מאחורי FIREWALL ) ואז הצטברות של חיבורים פתוחים יכולה לגרום לצוואר בקבוק, כיוון שמס´ הפורטים מוגבל והפורטים לקריאות RPC לא מוקצאים דינמית ומוגבלים במספרם. לגבי CAPTION: אין שום הבדל. פשוט לפעמים בונים קונטרולים דינמית ואז יש צורך לאתחל את הCAPTION של הפקד החדש. Antid0t
 
למעלה