Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2005.12.25;
Скачать: [xml.tar.bz2];

Вниз

Есть функция в 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.012 c
14-1133717977
Дмитрий Белькевич
2005-12-04 20:39
2005.12.25
Регистрация tbx и toolbar 2000. Кому и сколько за них платить?


14-1133783193
Bogdan1024
2005-12-05 14:46
2005.12.25
помогите пожалуйста придумать задачу


14-1133423503
Mike Kouzmine
2005-12-01 10:51
2005.12.25
Новая победа демократии


2-1134032904
Quattro
2005-12-08 12:08
2005.12.25
TChart


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский