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

Вниз

Чудеса при объявлении функции   Найти похожие ветки 

 
EvChul ©   (2009-03-28 18:33) [0]

Вот так все нормально

...
interface

....
function GetConfigParameter(Param: string; Count: PLongWord): string;
...

implementation

...
function GetConfigParameter(Param: string; Count: PLongWord): string;
begin
...
end;

....


А если вот так

interface

....
function GetConfigParameter(Param: string; Count: PWord): string;
...

implementation

...
function GetConfigParameter(Param: string; Count: PWord): string;
begin
...
end;


то компилятор выдает ошибки
[Pascal Error] AppUtils.pas(371): E2267 Previous declaration of "GetConfigParameter" was not marked with the "overload" directive
и
[Pascal Error] AppUtils.pas(28): E2065 Unsatisfied forward or external declaration: "GetConfigParameter"

Юзаю TurboDelphi Professional

Это я глючу или Делфи?


 
Anatoly Podgoretsky ©   (2009-03-28 18:43) [1]

> EvChul  (28.03.2009 18:33:00)  [0]

Мало кода, но видимо у тебя две функции GetConfigParameter


 
EvChul ©   (2009-03-28 18:53) [2]

[1] Anatoly Podgoretsky ©  

Была такая мысль. Специально завел функцию, имя которой заведомо не может повториться в проекте (случайный набор букв). Результат тот же. То есть как только PWord меняю на PLongWord все работает.

У кого есть TurboDelphi Professional, воспроизвести получится?

P.S. Все последние апдейты у меня стоят.


 
EvChul ©   (2009-03-28 19:04) [3]

В пустом проекте все работает безо всяких чудес.
Но в данном конкретном модуле не могу завести ф-ю с таким набором параметров.
Вот прям щас я ее обозвал

function tyagsbkbfluisvlua(Param: string; Count: PWord): string;

Ругается


 
EvChul ©   (2009-03-28 19:07) [4]

Воспроизводится на пустом проекте вот так:
Заводим новый юнит. Он выглядит во так

unit Unit2;

interface

function TestFunc(Param: string; Count: PWord): string;

implementation

uses
 Forms, SysUtils, ShlObj, Windows, TlHelp32, Dialogs,
 Variants, Classes, StrUtils, DBTables, BDE, DB;

function TestFunc(Param: string; Count: PWord): string;
begin

end;

end.


 
Riply ©   (2009-03-28 19:08) [5]

> [0] EvChul ©   (28.03.09 18:33)
> Это я глючу или Делфи?

Все очень просто: например, PWord(выше implementation) <> PWord(ниже implementation)
:)

Смотри декларации


 
EvChul ©   (2009-03-28 19:11) [6]

Понял, в каком-то из модулей PWord переопределяется. От же ш блин.


 
Плохиш ©   (2009-03-29 01:06) [7]

Для поиска досточно выбрать в контекстном меню пункт перейти к декларации.



Страницы: 1 вся ветка

Текущий архив: 2010.02.21;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.016 c
1-1222891708
RustB
2008-10-02 00:08
2010.02.21
Копирование с шифрованием


1-1238433962
Enlight
2009-03-30 21:26
2010.02.21
"Правильная" идентификация события ухода мыши с формы.


2-1261054211
Aleks
2009-12-17 15:50
2010.02.21
Программно ввести данные ТХТ в базу данных


2-1261080452
TComponent
2009-12-17 23:07
2010.02.21
Устойчивый фокус на TreeView


11-1174919254
ElectriC
2007-03-26 18:27
2010.02.21
Горизонтальная полоса прокрутки в ListBox