![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Переход проекта с Д5 на Д7, ошибка [D7, WinXP]
Dimich1978 © (2005-08-08 10:39:00)[Fatal Error] Klient.dpr(23): Unit Windows was compiled with a different version of Types.DWORD
Вот такая вот ошибка выскакивает ,
это клиент асечный с http://icq2000cc.hobi.ru/sources/lesson1.zip
скачал, и вот ошибка. Непойму что сделать можно. Сподможите плиз.
Посмотрел http://www.developing.ru/forum/topic2290.htmlрешене по этой ссылке непомогает. ДКУ удаяю, все тоже самое, ошибка сохраняется, может кто еще сталкивался и решил данную проблему. Буду признателен.
Anatoly Podgoretsky (2005-08-08 14:52:00) [1]Dimich1978 (08.08.05 14:36) [14]
Ты должен благодарить Борланд, что они наконец сделали "константы" неизменяемыми и вместо того что бы продолжать творить бардак, изменил бы дизайн программы.
ALS (2005-08-08 14:50:00) [2]F1:
Syntax {$J+} or {$J-}
{$WRITEABLECONST ON} or {$WRITEABLECONST OFF}
Default {$J-}
{$WRITEABLECONST OFF}
Scope Local
The $J directive controls whether typed constants can be modified or not. In the {$J+} state, typed constants can be modified, and are in essence initialized variables. In the {$J-} state, typed constants are truly constant, and any attempt to modify a typed constant causes the compiler to report an error.
Dimich1978 (2005-08-08 14:36:00) [3]Спасибо это помогло, ошибка пропала
и в первом случае и во втором.
Директива {$J+}-Что делает?
ALS (2005-08-08 14:14:00) [4]
{$J+}
const OL : booLean = false;
{$J-}
либо
var OL : booLean = false;
Amoeba (2005-08-08 14:10:00) [5]
> конструкция
> const OL : booLean = false;
> потом в функции
> OL := Result <> '127.0.0.1';
Может в D7 что-то изменилось в опциях компиляции, раз компилятор ругается, по сравнению с D5?
Dimich1978 (2005-08-08 14:05:00) [6]Вот вся функция:
const OL : booLean = false;
function Get_my_IP: string;
var wVersionRequested : WORD;
wsaData : TWSAData;
p : PHostEnt;
s : array[0..128] of char;
p2 : pchar;
begin
Result := '127.0.0.1';
try {Start up WinSock}
wVersionRequested := MAKEWORD(1, 1);
WSAStartup(wVersionRequested, wsaData);
try {Get the computer name}
GetHostName(@s, 128);
p := GetHostByName(@s);
{Get the IpAddress}
p2 := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
Result := p2;
except end;
try {Shut down WinSock} WSACleanup; except end;
except end;
OL := Result <> '127.0.0.1';
end;
Блин и еще в одном месте вылезла такая же фигня:
x:=length(blok)+27+length(sMess)+9;
Что0то после 5-ой версии много чего изменилось, да и я давно не программировал, помогите начинающему..плиз хелп.
Ega23 (2005-08-08 13:45:00) [7]функция какой тип данных возвращает?
Dimich1978 (2005-08-08 13:43:00) [8]Тут же появился вопрос еще один
конструкция
const OL : booLean = false;
потом в функции
OL := Result <> '127.0.0.1';
Ошибка
[Error] Packet.pas(449): Left side cannot be assigned to
В чем проблема, обратно говорюю чтов Д5 это все работает.
Сейчас исчу ответ в мануалах. Сподможите
Dimich1978 (2005-08-08 12:53:00) [9]Я на это тоже внимание обратил, нов Д5 то работало..вот что смутило
Ega23 (2005-08-08 12:12:00) [10]Ты ещё Classes юнит назови. Или Windows
Anatoly Podgoretsky (2005-08-08 12:01:00) [11]Dimich1978 (08.08.05 11:38) [4]
В этом модуле нельзя хранить, требуется другое имя, поскольку это зарезервировано для модуля Борланд.
Dimich1978 (2005-08-08 11:42:00) [12]Выкинул из проекта Types, ругаться продолжает на Types.DWord
program nICQ;
uses
Forms,
main in 'main.pas' {Form1},
Packet in 'Packet.pas';
{$R *.RES}
begin
Application.Initialize;
Application.Title := 'nICQ';
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Dimich1978 (2005-08-08 11:38:00) [13]Но в этом модуле хранятся все описанные типы.
Anatoly Podgoretsky (2005-08-08 11:24:00) [14]Удалить Types
Dimich1978 (2005-08-08 11:22:00) [15]не трогал
Ega23 (2005-08-08 10:41:00) [16]Генофонд трогал?