פתיחת DLL של C בVB - תכנות - HWzone פורומים
עבור לתוכן
  • צור חשבון

פתיחת DLL של C בVB


Ovid

Recommended Posts

אני מצרף את התיקייה, תוכל לבדוק אם זה בסדר?

התכנית פשוטה, בינתיים סתם ניסיתי לעשות פונקצייה שמדפיה HELLO לבדוק אם זה יעבוד. בVC הרצת תכנית עובדת אבל...

בכל מקרה:

http://www.upf.co.il/file/692683720.html

קישור לתוכן
שתף באתרים אחרים

חשבתי שצריך להגדיר אב טיפוס של הפונקציות שאתה הולך להשתמש בהן בHEADER. טעות שלי.. העניין הוא שאין ברשת אפילו מדריך אחד איך לכתוב DLL בC. הכל לC++ ולC# .

אתה יכול בבקשה לתת לי הדרכה איך להכין בצורה נכונה בC ?

כל ה"פרוייקט" שלי זה משהו ממש לא מסובך, אני רק צריך להבין איך ליצור DLL ואיך משתמשים בו. המשימה שלי היא ליצור סימולטור בVB , שזה כבר עשיתי. הוא כולל לדים,מספקים,7-סגמנט... עכשיו אני צריך ליצור DLL שיקשר בין הסימולטור לתכנית שיכתוב משתמש מסויים (בשפת C).

בסופו של דבר אני אצטרך שיהיו לי 4/5 פונקציות בDLL

SET וGET שישלחו/יקבלו מידע מהסימולטור. IN/OUT שיעשו זאת עם התכנית שכותב משתמש. וכנראה גם איזה DB (DATA BASE( דרכו אני אעביר ערכים לסימולטור. למשל בתכנית כתוב להדליק 4 הלדים הראשונים, זה יכנס לDB כמערך (סטטי) ומשם ילך לפונקציית הGET או הSET שתיהיה אחראית כבר להדליק את הלדים בסימולטור.

בינתיים אבל אפילו ליצור DLL פשוט שידפיס לי HELLO מתברר שאני לא מצליח...

קישור לתוכן
שתף באתרים אחרים

אוקיי אז בעצם בDLL אתה רק נגעת בקובץ הSOURCE נכון?

אני לא צריך להתעסק עם הHEADER?

עכשיו, אחרי הקומפילציה (של הDLL), אני מעתיק רק את קובץ הDLL לתיקיה של התכנית ומכניס אותה לREFERENCES ? לפני זה העתקתי את הHEADER, DLL וOBJ . ואז שמתי בREFERENCE את הOBJ...כנראה שזה לא נכון, למרות שזה כן עבד בתכנית בC חח איכשהו...

*אגב, כשאני בא ליצור DLL אני פותח WIN32 CONSOLE APPLICATION ואז בוחר DLL וEMPTY PROJECT נכון?

אם בהתחלה אני אפתח את הפרוייקט החדש כ CLASS LIBRARY זה כבר C++

קישור לתוכן
שתף באתרים אחרים

הוספתי את זה לREFERENCE . אחרי פתחתי תוכנית, ואיך אני מכליל את הDLL בתכנית? לפני זה עשיתי

#include "xxx.h"

אבל עכשיו אני לא יצרתי אפילו HEADER...

אגב, רק לוודא שאני מוסיף נכון את הרפרנס , אני עושה את זה ככה:

44096459.th.jpg

קישור לתוכן
שתף באתרים אחרים

אצלך זה כמו בVB. אבל אצלי זה זה אחרת, כנראה בVS2010 שינו את זה.

יש לי לי החלון הזה ששמתי בהודעה הקודמת...

אגב, ניסיתי את הקוד הזה בSOURCE של הDLL לפי איזה משתמש שעשה DLL בC, מה שמוזר שאצלו אותו קוד עובר קומפילציה, אצלי לא.

#include <stdio.h>

extern "C"
{
__declspec(dllexport) void DisplayHi()
{
printf("Hi!");
}
}

אפילו הורדתי את הקובץ שלו ואצלי זה גם עובד. אבל מה שאני כתבתי, שזה בדיוק העתק של הקוד - לא עובד.

השגיאה שאני מקבל :

Error 1 error C2059: syntax error : 'string'

קישור לתוכן
שתף באתרים אחרים

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

×
  • צור חדש...