PDA

View Full Version : فراخوانی نشدن یک تابع توسط یونیتهای دیگر



holyspirit
یک شنبه 20 دی 1388, 14:00 عصر
با سلام خدمت اساتید محترم !
مشکلی که در برنامه با ان گریبان گیرم اینه که یک تابعی رو در یکی از یونیتها نوشتم و از یونیتهای دیگه نمی تونم به اون دسترسی داشته باشم (می دونم سوالم خیلی آماتوری بود :خجالت:) این تابع رو بصورت Function ودر قسمت implementation تعریف کردم ! ممنون می شم از راهنمایی هاتون :چشمک:

دلفــي
یک شنبه 20 دی 1388, 14:19 عصر
با سلام خدمت اساتید محترم !
مشکلی که در برنامه با ان گریبان گیرم اینه که یک تابعی رو در یکی از یونیتها نوشتم و از یونیتهای دیگه نمی تونم به اون دسترسی داشته باشم (می دونم سوالم خیلی آماتوری بود :خجالت:) این تابع رو بصورت Function ودر قسمت implementation تعریف کردم ! ممنون می شم از راهنمایی هاتون :چشمک:

تابع را در قسمت Public در یونیتی که تابع در اون قرار داره معرفی کنید

Felony
یک شنبه 20 دی 1388, 14:23 عصر
باید تابع رو به صورت عمومی ( Public ) تعریف کنید ، مثلا :


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TForm1 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
Function Test(A:String):String;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

Function TForm1.Test(A:String):String;
begin

end;

end.

حالا تو یه یونیت دیگه میتونید اینطوری تابع رو صدا بزنید :

Form1.Test('Something');

Felony
یک شنبه 20 دی 1388, 14:26 عصر
تقریبا ارسال ها همزمان شد و من پاسخ " دلفی " رو ندیدم ، پست من پیرو همون پست هست .