Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.047 c
15-1175457900
Nic (ro)
2007-04-02 00:05
2007.04.29
Delphi 2007


15-1175603363
cosinus
2007-04-03 16:29
2007.04.29
Формат .job файла (файл планировщика заданий Windows)


15-1175616774
Scorpio1985
2007-04-03 20:12
2007.04.29
Ищу работу


15-1175518322
Ega23
2007-04-02 16:52
2007.04.29
Как по-русски сказать?


1-1172518078
KOSS
2007-02-26 22:27
2007.04.29
Наследник





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский