Форум: "Начинающим";
Текущий архив: 2007.04.29;
Скачать: [xml.tar.bz2];
ВнизЧто это: Unsatisfied forward or external declaration: P1202_AdsP Найти похожие ветки
← →
Чайник © (2007-04-06 03:38) [0]Что за глюк (у меня или у Дельфи)?:
Есть юнит, в секции interface объявляю:unit P1202_Scan;
interface
uses
Windows, SysUtils, Classes;
// Function of AD/DA
function P1202_AdsPolling(fAdVal: PSingle; wNum: Word): Word; stdCall;
в секции implementation соответсвенно:function P1202_AdsPolling(fAdVal: PSingle; wNum: Word): Word; stdCall;
begin
...
end;
При попытке компиляции выдает:
[Error] P1202_Scan.pas(70): Previous declaration of "P1202_AdsPolling" was not marked with the "overload" directive
[Error] P1202_Scan.pas(16): Unsatisfied forward or external declaration: "P1202_AdsPolling"
[Fatal Error] P1202_Im.dpr(14): Could not compile used unit "P1202_Scan.pas"
Что это?
← →
Чайник © (2007-04-06 03:43) [1]Опечатка: в implementation декларации stdCall нет:
function P1202_AdsPolling(fAdVal: PSingle; wNum: Word): Word;
begin
end;
← →
Чайник © (2007-04-06 03:47) [2]Ну нет уменя никакой "Previous declaration" и не собираюсь я никого "overload" ! Такое впечатление, что компилятор названия функций в interface и interface воспринимает, как разные и не сопоставляет. Что за глюк?!
← →
Думкин © (2007-04-06 07:06) [3]Раз говорит, значит есть основания. У меня этот код с теми же названиями откомпилился на ура.
← →
Думкин © (2007-04-06 07:14) [4]по написаному вами тут выходит, что ошибка должна вылазить в 9-й строке, а у вас указывается 16.
Следовательно. как и всегда - ошибка в 17-й строке.
← →
_Аноним (2007-04-06 23:13) [5]Ну вариантов быть не может - проверь, в 17 строке у тебя объявлена еще одна P1202_AdsPolling
← →
Leonid Troyanovsky © (2007-04-07 00:31) [6]
> Чайник © (06.04.07 03:38)
> // Function of AD/DA
> function P1202_AdsPolling(fAdVal: PSingle; wNum: Word):
> Word; stdCall;
function P1202_AdsPolling(fAdVal: PSingle; wNum: Word): Word; forward;
--
Regards, LVT.
← →
Германн © (2007-04-07 01:33) [7]
> Чайник © (06.04.07 03:38)
>
> Что за глюк (у меня или у Дельфи)?:
>
> Есть юнит, в секции interface объявляю:
>
> unit P1202_Scan;
>
> interface
>
> uses
> Windows, SysUtils, Classes;
>
> // Function of AD/DA
> function P1202_AdsPolling(fAdVal: PSingle; wNum: Word):
> Word; stdCall;
>
> в секции implementation соответсвенно:
>
> function P1202_AdsPolling(fAdVal: PSingle; wNum: Word):
> Word; stdCall;
> begin
> ...
> end;
>
> При попытке компиляции выдает:
> [Error] P1202_Scan.pas(70): Previous declaration of "P1202_AdsPolling"
> was not marked with the "overload" directive
> [Error] P1202_Scan.pas(16): Unsatisfied forward or external
> declaration: "P1202_AdsPolling"
> [Fatal Error] P1202_Im.dpr(14): Could not compile used
> unit "P1202_Scan.pas"
>
> Что это?
>
Имхо, ты в своём коде где-то "переопределил", скорее всего, тип PString. Ну или Word.
← →
Германн © (2007-04-07 01:35) [8]
> Чайник © (06.04.07 03:47) [2]
>
> Ну нет уменя никакой "Previous declaration"
"Previous declaration" в данном случае это объявление функции в секцииinterface
.
← →
Belorus © (2007-04-07 11:08) [9]Ошибка в 16 строке, это почти то же самое что и в 17... Подозрительный код..
← →
DrPass © (2007-04-07 21:51) [10]
> Опечатка: в implementation декларации stdCall нет:
>
> function P1202_AdsPolling(fAdVal: PSingle; wNum: Word):
> Word;
> begin
>
> end;
Ну так что ж ты хочешь, дорогой?
← →
Германн © (2007-04-08 00:47) [11]
> DrPass © (07.04.07 21:51) [10]
> Ну так что ж ты хочешь, дорогой?
>
Ошибка с этим не связана.
← →
Плохиш © (2007-04-08 01:14) [12]
> Чайник © (06.04.07 03:38)
> Что за глюк (у меня или у Дельфи)?:
Глюк у тебя. Тут без вариантов.
PS. Неужели так трудно поиск по своему коду сделать?
← →
DrPass © (2007-04-08 10:18) [13]
> Германн © (08.04.07 00:47) [11]
Это понятно :)
Скорее всего, он где-то по коду переопределяет тип параметров, psingle или word.
Хотя в очень редких случаях и у Delphi бывают глюки
← →
_Аноним (2007-04-08 12:23) [14]
> DrPass ©
Нет, если бы он переопределял тип psingle или word, то текст ошибки компилера был бы другой
а у него
[Error] P1202_Scan.pas(70): Previous declaration of "P1202_AdsPolling" was not marked with the "overload" directive
[Error] P1202_Scan.pas(16): Unsatisfied forward or external declaration: "P1202_AdsPolling"
однозначно еще есть строка в коде с объявлением P1202_AdsPolling
← →
Германн © (2007-04-08 13:01) [15]
> Аноним (08.04.07 12:23) [14]
>
> Нет, если бы он переопределял тип psingle или word, то текст
> ошибки компилера был бы другой
> а у него
А ты сам то проверь. Именно такой текст ошибки и есть при переопределении. Слово в слово.
← →
Чайник © (2007-04-08 13:16) [16]Всем спасибо! Каюсь - это полностью мой идиотизм. Действительно, было еще одно объявление AdsPolling - в 16 строке на 200 позизии - т.е. далеко вправо за пределами экрана. Вот пример всем мальчикам и девочкам бездумного использования Copy/Paste.
← →
Anatoly Podgoretsky © (2007-04-08 13:23) [17]> Чайник (08.04.2007 13:16:16) [16]
А Ctrl+F пользоваться не умеешь
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.04.29;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.044 c