ورود

View Full Version : صدا زدن dll از کلاس دیگر



mehrpars
سه شنبه 28 اردیبهشت 1389, 20:25 عصر
سلام ،
من یک dll دارم که می خوام از توابعش توی برنامم استفاده کنم و این توابع رو توی یک یونیت (class)که کلاس عمومی برنامه من هست تعریف کردم
از داخل همون یونیت می تونم از توابع استفاده کنم ولی از یونیت های دیگه دسترسی به توابع ندارم
لطفا راهنمایی کنید!!! ممنون

Felony
سه شنبه 28 اردیبهشت 1389, 20:30 عصر
توابع رو در چه بخشی از کلاس تعریف کردید ؟
باید توابع در بخش public یک کلاس تعریف بشن تا بشه از اونها در دیگر یونیت ها استفاده کرد.

mehrpars
سه شنبه 28 اردیبهشت 1389, 21:43 عصر
توابع رو در چه بخشی از کلاس تعریف کردید ؟
باید توابع در بخش public یک کلاس تعریف بشن تا بشه از اونها در دیگر یونیت ها استفاده کرد.

ممنون از توجهت ، اینو میدونم که باید public باشه ولی چیزی که هست error میده و تنها جایی که می تونم تعریفش کنم بعد از implementation هست

Felony
سه شنبه 28 اردیبهشت 1389, 21:49 عصر
چه پیغام خطایی میده ؟
چه کدی نوشتید ؟

mehrpars
سه شنبه 28 اردیبهشت 1389, 21:57 عصر
این کد من هست


type
TPFunc=Class
public function InternetConnected: Boolean;
function StandardDate(Year,Month,Day:string):string;
function CityCode(c,i,n:string):Integer;

private

public


constructor Create;

end;

implementation
uses WinInet;


{ TPF }
Function hrccX001(cMC,ip,cN:pansichar):pansichar;stdcall;ex ternal 'hloc90.dll';




و اگر dll رو جای دیگه صدا بزنم error پایینو میده



[Error] PF.pas(12): Field definition not allowed after methods or properties

[Error] PF.pas(15): ',' or ':' expected but identifier 'public' found
[Error] PF.pas(18): ',' or ':' expected but 'CONSTRUCTOR' found
[Error] PF.pas(12): Unsatisfied forward or external declaration: 'TPFunc.hrccX001'
[Fatal Error] MainUnit.pas(15): Could not compile used unit 'PF.pas'

mehrpars
سه شنبه 28 اردیبهشت 1389, 22:48 عصر
کسی نبود از دوستان که بخات کمک بده ؟؟؟؟

mehrpars
چهارشنبه 29 اردیبهشت 1389, 00:15 صبح
خوب من یک کاری کردم ، بد هم نشد ...
یک تابع Public توی کلاس عمومی م تعریف کردم و کار با توابع dll رو توی اون انجام دادم و از این تابع جدید در جاهای دیگه برنامم استفاده می کنم