Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.25;
Скачать: CL | DM;

Вниз

Есть функция в Unit1. Как её использовать в Unit2?   Найти похожие ветки 

 
Volf_555   (2005-12-10 14:36) [0]

Написал одну функцию, которая есть в первом юните. Добавил её в раздел PUBLIC первого юнита. Во втором юните когда пишу Form1.ScanDir,ошибки не выскакивает. Но выскакивает ошибка в первом юните:
"Unsatisfed forward or external declaration: "TForm1.ScanDir""

Что это за ошибка и как её исправить?


 
bug_   (2005-12-10 15:22) [1]

точно не помню, с чем это связано... в общем нужно сначала описАть
процедуру, типа

procedure ScanDir
begin
...
end;
потом добавить в public, и затем исправить в implementation на

procedure TForm1.ScanDir
begin
...
end;

P.S скорее всего это не самый лучший вариант, но работает


 
Ihor Osov'yak ©   (2005-12-10 15:49) [2]

2 bug_  

Эта. ПРограммирование - не шаманство. И в танцах на будне при свете луны нне нуждается.. А если Вам кажется, что нуждается - то вероятнее всего имеет место некорректное исрльзование инструментария, или вообще отсутсвие элементрарных знаний и навычок.

2 Volf_555
Не полностью описана ситуация. Но вероятнее всего, что в классе
TForm1 процедура ScanDir декларирована, но не реализована.
Наиболее вероятно по причине отсутсвия реализации в секции implementation, либо Вы ввели в заблуждение компилятор лишним end или begin...


 
Alexander Panov ©   (2005-12-10 16:54) [3]

Volf_555   (10.12.05 14:36)

Нужно различать методы и функции/процедуры.

interface

type
 TTest=class
 public
   MyFunc: Integer;       //Это описание метода
 end;

function MyFunc: Integer; //Это описание функции

implementation

//Это реализация метода
function TTest.MyFunc: Integer;
begin
 Result := 0;
end;

//Это реализация функции
function MyFunc: Integer;
begin
 Result := 0;
end;


В случае, если в разделе imlementation функция или метод не реализованы, компилятор и выдаст тебе ошибку, упоминаемую в топике.


 
DrPass ©   (2005-12-10 18:23) [4]


> Ihor Osov"yak ©   (10.12.05 15:49) [2]
> 2 bug_  
>
> Эта. ПРограммирование - не шаманство.

Не надо раскрывать профессиональные секреты :)


> Написал одну функцию, которая есть в первом юните. Добавил
> её в раздел PUBLIC первого юнита. Во втором юните когда
> пишу Form1.ScanDir,ошибки не выскакивает. Но выскакивает
> ошибка в первом юните:
> "Unsatisfed forward or external declaration: "TForm1.ScanDir""

Наверное, ты ее обозвал
"procedure ScanDir". А надо было "procedure TForm1.Scandir". И да, не забудь еще жертву Духу Процессора принести



Страницы: 1 вся ветка

Текущий архив: 2005.12.25;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
2-1133878661
vhs
2005-12-06 17:17
2005.12.25
не рабоатет клавиши delete ?!


3-1131431309
makvell
2005-11-08 09:28
2005.12.25
Псевдонимы...


14-1133306290
Piter
2005-11-30 02:18
2005.12.25
знатокам MPlayer


14-1133457537
Хинт
2005-12-01 20:18
2005.12.25
Вопрос по PHP


1-1133366543
legeyda
2005-11-30 19:02
2005.12.25
Ошибка dib.dcu в делфи