Главная страница
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.02 c
2-1261234069
serhiyiv
2009-12-19 17:47
2010.02.21
TListView


3-1235109329
Дмитрий
2009-02-20 08:55
2010.02.21
[Delphi 2006, Access] Загрузка файла в базу данных


2-1261117696
maximkok
2009-12-18 09:28
2010.02.21
Как применить тему xp(.theme) без предупреждения?


1-1238398266
Дмитрий С
2009-03-30 11:31
2010.02.21
Отключить автоматические AddRef и Release в Delphi?


15-1260369295
xayam
2009-12-09 17:34
2010.02.21
Вопрос по SQL