Главная страница
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.026 c
1-1132744195
GuAV
2005-11-23 14:09
2005.12.25
Рассылка событий группе объектов.


1-1133163488
Alp
2005-11-28 10:38
2005.12.25
Диаграммы Excel


2-1134300688
markers
2005-12-11 14:31
2005.12.25
Динамическое создание компонетов


2-1134117708
Id
2005-12-09 11:41
2005.12.25
IBDataSet


2-1133939778
Daria
2005-12-07 10:16
2005.12.25
Дабовить запись в БД (Paradox)