Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.29;
Скачать: CL | DM;

Вниз

Что это: 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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.028 c
15-1175480993
Slider007
2007-04-02 06:29
2007.04.29
С днем рождения ! 2 апреля


15-1175711002
Kostafey
2007-04-04 22:23
2007.04.29
Что за баг такой странный: Circular datalinks are not allowed.


15-1175778266
{RASkov}
2007-04-05 17:04
2007.04.29
Окно редактора


2-1175109539
arturich
2007-03-28 23:18
2007.04.29
Перевести буквы на другой язык


1-1173084497
Aleksandr.
2007-03-05 11:48
2007.04.29
Как строку даты/времени в формате ISO превратить в TDateTime?