Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2010.02.21;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.005 c
2-1261232671
Pup
2009-12-19 17:24
2010.02.21
Движение по синусоиде


2-1261556130
Андрей_11
2009-12-23 11:15
2010.02.21
Определение не введённого поля


2-1261424330
Drowsy
2009-12-21 22:38
2010.02.21
ComponentName.


9-1183470560
THandle
2007-07-03 17:49
2010.02.21
DirectX


15-1260396353
Petr V. Abramov
2009-12-10 01:05
2010.02.21
есть ли паровоз?





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