Главная страница
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.027 c
4-1130140872
DVM
2005-10-24 12:01
2005.12.25
Заголовочный PAS-файл к Intel Jpeg Library


2-1134195747
eid
2005-12-10 09:22
2005.12.25
asci-ansi


2-1133976486
fast2
2005-12-07 20:28
2005.12.25
Как создать dll?


5-1118656499
Subdigger
2005-06-13 13:54
2005.12.25
TDataset


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