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

Вниз

Типы данных, cardinal   Найти похожие ветки 

 
POP   (2006-11-18 20:49) [0]

Cardinal это - 0..4294967295

Тогда почему не работает такая конструкция:

var
Wor: dword;
Size: cardinal;

begin
Wor:= 65535;
Size:= Cardinal(Wor) * 65535;
..
if Size2 < Size then

Вылазит ошибка "Integer overflow".

Если операцию сравнения убрать то все работает.


 
Desdechado ©   (2006-11-18 20:53) [1]

Size2 как описан?
см неявное приведение типов в справке


 
Anatoly Podgoretsky ©   (2006-11-18 20:55) [2]

> POP  (18.11.2006 20:49:00)  [0]

Не указаная переменная Size2


 
palva ©   (2006-11-18 20:56) [3]

Пытается из Size2 вычесть Size и возникает переполнение. Видимо, Size2 очень большое по модулю отрицательное число.


 
POP   (2006-11-18 21:18) [4]

Size2 обьявлен также как и Size, то есть cardinal, я уже все перепробовал, разные приведения типов, не пойму как с большими целыми числами работать.

Вы попробуйте сами.


 
POP   (2006-11-18 21:22) [5]

Вот как точно выглядит:

var
Wor1, Wor2: dword;
Size1, Size2: Cardinal;

begin
Wor1:= 0
Wor2:= 65535;
Size:= Cardinal(Wor2) * 65535;
..
if Size2 < Size then Exit;


 
Anatoly Podgoretsky ©   (2006-11-18 21:24) [6]

> POP  (18.11.2006 21:22:05)  [5]

65535 это уже не Cardianal, а Integer


 
POP   (2006-11-18 21:25) [7]

Млять, опять ошибся, вот как выглядит:

var
Wor1, Wor2: dword;
Size1, Size2: Cardinal;

begin
Wor1:= 0
Wor2:= 65535;
Size1:= (Cardinal(Wor1) * 65535);
Size2:= (Cardinal(Wor2) * 65535);
..
if Size2 < Size then Exit;


 
Anatoly Podgoretsky ©   (2006-11-18 21:25) [8]

> POP  (18.11.2006 21:22:05)  [5]

И еще Size2 не инициализирован, а Size не известно как объявлен


 
POP   (2006-11-18 21:26) [9]


> 65535 это уже не Cardianal, а Integer


Но ведь я то произвожу операцию умножения, где один из операторов Cardinal, а значит и результат cardinal


 
Anatoly Podgoretsky ©   (2006-11-18 21:26) [10]

> POP  (18.11.2006 21:25:07)  [7]

Все равно Size неизвестно как объявлен.
Зачем обсуждать неизвестные данные.


 
Anatoly Podgoretsky ©   (2006-11-18 21:28) [11]

> POP  (18.11.2006 21:26:09)  [9]

C чего ты так решил, смотри АСМ код


 
POP   (2006-11-18 21:35) [12]


> Все равно Size неизвестно как объявлен.
> Зачем обсуждать неизвестные данные.


Как это неизвестно? Оба Size1 и Size2 это cardinal, ты посмотри, я исправил в следующей мессаге.


 
Kolan ©   (2006-11-18 21:36) [13]

> Size2 < Size then Exit;


 
Anatoly Podgoretsky ©   (2006-11-18 21:36) [14]

> POP  (18.11.2006 21:35:12)  [12]

Ты что думаешь я руками это пишу, я скопировал из твоего сообщения.
Код не позволяет обсуждать, поскольку есть неизвестные переменные или константы.


 
Kolan ©   (2006-11-18 21:37) [15]

> Size1:= (Cardinal(Wor1) * 65535);
> Size2:= (Cardinal(Wor2) * 65535);

А что просто нельзя:
Size1:= (Cardinal * 65535);
Size2:= (Cardinal * 65535);

?


 
Anatoly Podgoretsky ©   (2006-11-18 21:38) [16]

> Kolan  (18.11.2006 21:37:15)  [15]

65535 это Integer


 
POP   (2006-11-18 21:41) [17]


> А что просто нельзя:
> Size1:= (Cardinal * 65535);
> Size2:= (Cardinal * 65535);
> ?


А ты не ошибся случаем? Посмотри внимательно.

> Ты что думаешь я руками это пишу, я скопировал из твоего
> сообщения.
> Код не позволяет обсуждать, поскольку есть неизвестные переменные
> или константы.


Какие неизвестные переменные?

Wor1, Wor2 обяьвлены и инициализированы, Size1, Size2 обьявлены и далее им идет присваивание результат операции.


 
Kolan ©   (2006-11-18 22:05) [18]

Проверил код:
var
 Wor1, Wor2: dword;
 Size1, Size2: Cardinal;
begin
 Wor1:= 0;
 Wor2:= 65535;
 Size1:= (Cardinal(Wor1) * 65535);
 Size2:= (Cardinal(Wor2) * 65535);
 if Size2 < Size1 then Exit;
end;

Заметь я написал Size1, а у тебя Size(Телепатирую).
Все нормально ошибок нет.


> Size1:= (Cardinal * 65535);
> Size2:= (Cardinal * 65535);

Это конечно бред. Имелл в виду вот так:
var
 Wor1, Wor2: dword;
 Size1, Size2: Cardinal;
begin
 Wor1:= 0;
 Wor2:= 65535;
 Size1:= (Wor1 * 65535);
 Size2:= (Wor2 * 65535);
 if Size2 < Size1 then Exit
 else
   ShowMessage("");
end;


Тоже все ок. Что должно быть не так?


 
POP   (2006-11-18 22:36) [19]


> Заметь я написал Size1, а у тебя Size(Телепатирую).
> Все нормально ошибок нет.


Ну где же нормально? Ты запусти его, он компилируется но не выполняется, а вылетает с ошибкой на строке - Size2:= (Wor2 * 65535);


 
Kolan ©   (2006-11-18 22:38) [20]

var
 Wor1, Wor2: dword;
 Size1, Size2: Cardinal;
begin
 Wor1:= 0;
 Wor2:= 65535;
 Size1:= (Wor1 * 65535);
 Size2:= (Wor2 * 65535);
 if Size2 < Size1 then Exit
 else
   ShowMessage("");
end;


Прекрасно выполняется.. BDS2006


 
Anatoly Podgoretsky ©   (2006-11-18 22:45) [21]

> POP  (18.11.2006 21:41:17)  [17]

Неизвестная переменная/константа Size


 
POP   (2006-11-18 23:01) [22]


> Прекрасно выполняется.. BDS2006


Блин, а почему у меня не работает? У меня Delphi 7 SE.


> Неизвестная переменная/константа Size


Ты посмотри мое второе сообщение, там все определено.


 
sniknik ©   (2006-11-18 23:28) [23]

> Ты посмотри мое второе сообщение, там все определено.
второе твое сообщение, это четвертое по порядку т.е. POP   (18.11.06 21:18) [4], там вообще кода нет.

не говори загадками, показывай РЕАЛЬНЫЙ код, чтобы скопировал ... и получил ошибку. т.к. то что есть, приведено либо вообще не компилируется изза неизвестных переменных, либо компилируется и выполняется без ошибок правда приведено не тобой... (D7 Enterprise)


 
POP   (2006-11-18 23:56) [24]


> не говори загадками, показывай РЕАЛЬНЫЙ код, чтобы скопировал
> ... и получил ошибку. т.к. то что есть, приведено либо вообще
> не компилируется изза неизвестных переменных, либо компилируется
> и выполняется без ошибок правда приведено не тобой... (D7
> Enterprise)
>


А вот это что? Я этот код уже приводил

var
Wor1, Wor2: dword;
Size1, Size2: Cardinal;

begin
Wor1:= 0
Wor2:= 65535;
Size1:= (Cardinal(Wor1) * 65535);
Size2:= (Cardinal(Wor2) * 65535);
..
if Size2 < Size then Exit;

При выполнении сего кода вылазит ошибка Integer overflow на строке - Size2:= (Wor2 * 65535);

Если же убрать if Size2 < Size then Exit;, то все работает и ошибки не возникает.

Юзаю Delphi 7 SE


 
POP   (2006-11-18 23:57) [25]


> не говори загадками, показывай РЕАЛЬНЫЙ код, чтобы скопировал
> ... и получил ошибку. т.к. то что есть, приведено либо вообще
> не компилируется изза неизвестных переменных, либо компилируется
> и выполняется без ошибок правда приведено не тобой... (D7
> Enterprise)
>


Вот:

var
Wor1, Wor2: dword;
Size1, Size2: Cardinal;

begin
Wor1:= 0
Wor2:= 65535;
Size1:= (Cardinal(Wor1) * 65535);
Size2:= (Cardinal(Wor2) * 65535);
..
if Size2 < Size1 then Exit;

При выполнении сего кода вылазит ошибка Integer overflow на строке - Size2:= (Wor2 * 65535);

Если же убрать if Size2 < Size then Exit;, то все работает и ошибки не возникает.

Юзаю Delphi 7 SE


 
POP   (2006-11-18 23:58) [26]

Люди, выручайте, работа стоит, почему это работает на Delphi 2006 не знаю, у меня не работает.


 
Alexander Panov ©   (2006-11-19 00:05) [27]


> POP   (18.11.06 23:57) [25]


И в этом коде у тебя ошибка - не хватает ";" после Wor1:= 0

Но не суть важно.

Этот код после исправления выполняется без ошибок полностью в D6 и BDS2006.


 
Alexander Panov ©   (2006-11-19 00:06) [28]


> POP   (18.11.06 23:58) [26]
> Люди, выручайте, работа стоит, почему это работает на Delphi
> 2006 не знаю, у меня не работает.


А кто тебе может помочь, если у остальных все работает?
Садись за отладчик и пошагово смотри.


 
Anatoly Podgoretsky ©   (2006-11-19 00:24) [29]

> POP  (18.11.2006 23:01:22)  [22]

Второе сообщение от меня!
У тебя пока не вижу полного кода, который бы стоило обсуждать, в каждом неизвестные переменные, о чем вообще говорить? Ты код давай.


 
Anatoly Podgoretsky ©   (2006-11-19 00:24) [30]

> POP  (18.11.2006 23:56:24)  [24]

Ну вот опять неизвестная переменная Size


 
Anatoly Podgoretsky ©   (2006-11-19 00:26) [31]

> POP  (18.11.2006 23:57:25)  [25]

65535 это Integer


 
Anatoly Podgoretsky ©   (2006-11-19 00:27) [32]

> POP  (18.11.2006 23:58:26)  [26]

Еще вопрос, а что это такое dword - только не надо говорить, что это double word, это не совсем так и даже не понятно почему ты его используешь, а не Cardinal.


 
Anatoly Podgoretsky ©   (2006-11-19 00:34) [33]

> Alexander Panov  (19.11.2006 0:06:28)  [28]

CPU Windows успех в нем.


 
POP   (2006-11-19 00:40) [34]

Мля, вот полностью процедура, после вырезания всего левого кода, оставил только то что генерирует ошибку, эта процедура висит на обработчике нажатия кнопки:


procedure TForm1.Button24Click(Sender: TObject);
var
Wor1, Wor2: cardinal;;
Size1, Size2: cardinal;

begin

Wor1:= 0;
Wor2:= 65535;

Size1:= (Wor1 * 65535);
Size2:= (Wor2 * 65535);

if Size2 < Size1 then Exit;

end;


Повторюсь, если заремить if Size2 < Size1 then Exit; , то все выполняется без ошибок.


 
POP   (2006-11-19 00:42) [35]


> CPU Windows успех в нем.


Что это такое?


 
sniknik ©   (2006-11-19 00:52) [36]

> Мля, вот полностью процедура, после вырезания всего левого кода, оставил только то что генерирует ошибку ...
опять врешь, эта тоже не компилируется... с ошибкой компиляции Declarated expected but ....

по моему ты прикалываешся просто... копировать код их дельфи надо, а не прям тут придумывать...

> И в этом коде у тебя ошибка - не хватает ";" после Wor1:= 0
> Но не суть важно.
это важно, имхо, это показатель нереальности кода...


 
Anatoly Podgoretsky ©   (2006-11-19 00:55) [37]

> POP  (19.11.2006 0:42:35)  [35]

Ищи это в меню Дельфи, тогда сразу будет видно, что происходит.


 
Anatoly Podgoretsky ©   (2006-11-19 00:56) [38]

> sniknik  (19.11.2006 0:52:36)  [36]

О, я даже не стал анализировать код на вшивость.


 
POP   (2006-11-19 01:03) [39]


> по моему ты прикалываешся просто... копировать код их дельфи
> надо, а не прям тут придумывать...


Да не прикалываюсь я, убери лишний знак ; в Wor1, Wor2: cardinal;; и скомпилируется.

Тороплюсь потому что пока не поздно, пока народ отвечает.

Понял что такое CPU Window, это асмовский код, хоть я в асме и не мастак, но нашел место где на ошибку переходит. Ошибка возникает на Size2:= (Wor2 * 65535);

Выглядит это так:

xor eax, eax                   ; это занесение нуля в Wor1
mov edx, $0000ffff          ; это Wor2
imul eax, eax, $0000ffff    ; это Wor1 * 65535
jnb +$5
call Intover                   ; обработчик ошибки переполнения

imul edx, edx, $0000ffff    ; это Wor2 * 65535
jnb +$5
call Intover                   ; а вот тут этот обработчик ошибки получает управление

После операции умножения в edx результат $fffe0001 , что и правильно, это есть 65535 * 65535 , но почему тогда ошибка возникает?

И второе, посмотрел описание комманд, imul это операция умножения знаковых чисел, а меня ведь все беззнаковые, для беззнаковых используется команда mul


 
Anatoly Podgoretsky ©   (2006-11-19 01:08) [40]

> POP  (19.11.2006 1:03:39)  [39]

Сколько раз тебе говорить, что 65535 это Integer, чтобы ты это понял?


 
POP   (2006-11-19 01:13) [41]


> Сколько раз тебе говорить, что 65535 это Integer, чтобы
> ты это понял?


Я только что это проверил, проверил так, заменил 65535 на Wor2, то есть вот так:


Wor1:= 0;
Wor2:= 65535;

Size1:= (Wor1 * Wor2);
Size2:= (Wor2 * Wor2
);

Один хрен. Wor2 же у меня cardinal? Или опять я что-то не понял?


 
Anatoly Podgoretsky ©   (2006-11-19 01:16) [42]

> POP  (19.11.2006 1:13:41)  [41]

Теперь где код из CPU Window


 
POP   (2006-11-19 01:21) [43]


> Теперь где код из CPU Window


Вот он:

-------------
xor edx, edx
mov eax, $0000ffff

imul edx, eax
jnb +$5
call intover

mov ecx, eax
imul ecx, eax
jnb +$5
call Intover      - вот здесь получает управление
----------


 
sniknik ©   (2006-11-19 01:59) [44]

> убери лишний знак ; в Wor1, Wor2: cardinal;; и скомпилируется.
ну типа никто не догадался... не в том дело, а в том что ты его не пробуешь/проверяешь/показываешь, а пишешь то что ПО ТВОЕМУ ДУМАЕШЬ ДОЛЖНО БЫТЬ, и естественно пишешь неправду. по которой нельзя ответить. (ну как типа пригнать на ремонт рабочую машину, и просить починить ту что поломалась, дома стоит... ну а че? марка то таже самая. или хотябы скажите в чем у нее проблема).

> Тороплюсь потому что пока не поздно, пока народ отвечает.
и как? много выиграл от этого, времени много сэкономил?

проверь сам, сделай новый (!!!) проект, на форме одна кнопка, копируешь свой код из [34] (ни строчки из старого!!!) исправляешь естественно, и ошибки не будет...
она в твоем проекте осталась... ищи где. я кажется догадался в чем она, но не хочется говорить, после стольких обманов... не люблю. (такая вот маленькая месть. и кстати заранее, на слабо, ну типа сам на самом деле не знаеш... бессмысленно)
но вообще несложно, может кто другой скажет...

p.s. советую всем также почаще торопиться... пока отвечают. неважно что изза этого отвечать не на что...


 
RASkov   (2006-11-19 02:05) [45]

Вот только, что проверил, работает. У меня D7 build 4.453, что такое у тебя SE не знаю.
procedure TForm1.Button1Click(Sender: TObject);
var
Wor1, Wor2: cardinal;
Size1, Size2: cardinal;
begin
 Wor1:= 0;
 Wor2:= 65535;
 Size1:= (Wor1 * 65535);
 Size2:= (Wor2 * 65535);
 if Size2 < Size1 then Exit;
end;


Покажи весь код нажатия кнопки.


 
POP   (2006-11-19 02:30) [46]


> проверь сам, сделай новый (!!!) проект, на форме одна кнопка,
>  копируешь свой код из [34] (ни строчки из старого!!!) исправляешь
> естественно, и ошибки не будет...
> она в твоем проекте осталась.


А знаешь почему на чистом проекте не вылазит ошибка? Потому что по умолчанию не включена проверка на переполнение, ошибка есть, но она не секется, об этом говорит и асмовский код, в нем уже нет проверок и соотвественно вызовов обработчика ошибок, сам посмотри.

Я об этом сам догадался, но тут вылезла другая заковыка.

Насколько я знаю проверки на такие ошибки можно включить/выключить в опциях проекта / compiler / runtime errors и также можно использовать директивы локальные {$Q-} {$Q+}

Я эти директиву использовал {$Q-}, но она не работает, смотрел по асм коду, все проверки остались на месте, также использовал отключение всех проверок в опциях проекта, тоже самое, все проверки остались судя по асм коду.

Кроме того, если изменить эти опции в опциях проекта , то в CFG файле все директивы не изменяются, хотя должны, ведь именно их компилятор и использует.

Так что если кто знает в чем косяк, буду благодарен.

Но вопрос ведь не в этом, контроль ошибок как раз и нужен для того чтобы отлавливать подобные ситуации, что и произошло в моей ситуации, отключать проверку можно, но ведь сама ошибка останется.

Ну и я не пойму, почему не действуют настройки проекта и прямые директивы для компилятора в исходнике.


 
POP   (2006-11-19 02:31) [47]


> Вот только, что проверил, работает. У меня D7 build 4.453,
>  что такое у тебя SE не знаю.
> procedure TForm1.Button1Click(Sender: TObject);
> var
> Wor1, Wor2: cardinal;
> Size1, Size2: cardinal;
> begin
>  Wor1:= 0;
>  Wor2:= 65535;
>  Size1:= (Wor1 * 65535);
>  Size2:= (Wor2 * 65535);
>  if Size2 < Size1 then Exit;
> end;
>
> Покажи весь код нажатия кнопки.


Это и есть полный код, а теперь посмотри в опциях проекта / compiler / runtime errors, у тебя снята галочка напротив Overflow checking


 
sniknik ©   (2006-11-19 10:27) [48]

> А знаешь почему на чистом проекте не вылазит ошибка? Потому что по умолчанию не включена проверка на переполнение
включи в новом и проверь еще раз.

она не в этом (не о ней думал, когда писал).

> Это и есть полный код,
опять неправда, ошибки здесь нет, код "чист", она либо в твоем старом проекте, просто ты даже не думаешь что это оно (тк. в том месте не вылетает никаких эксептов), либо (по здравому размышлению) в какомто левом установленном компоненте, либо даже в генофонде SE (кто это чудо делал? вернее ломал).

> а теперь посмотри в опциях проекта / compiler / runtime errors,
> у тебя снята галочка напротив Overflow checking
говорю же проверь сам, только на новом естественно, прежде чем другим говорить что им делать... а если проверил то пиши об этом, описывай всю ситуацию и что сделал уже по решению... не заставляй других телепаторы тренировать.


 
Anatoly Podgoretsky ©   (2006-11-19 12:51) [49]

> POP  (19.11.2006 2:30:46)  [46]

> Потому что по умолчанию не включена проверка на переполнение

И нафига нам такая проверка?


 
Anatoly Podgoretsky ©   (2006-11-19 12:52) [50]

> sniknik  (19.11.2006 1:59:44)  [44]

> Тороплюсь потому что пока не поздно, пока народ отвечает.

Народ давно не отвечает, а с интересом смотрит со стороны.


 
Anatoly Podgoretsky ©   (2006-11-19 12:57) [51]

> sniknik  (19.11.2006 10:27:48)  [48]

Никакой ошибки данные код не выдает, проверка по CPU показывает правильную генерацию кода.
Ой вешают нам лапшу на уши.


 
sniknik ©   (2006-11-19 13:31) [52]

> Ой вешают нам лапшу на уши.
да не, одна возможность получить подобную ошибку при этом коде есть. т.что скорее не "лапшу на уши", а "пускают пыль в глаза", отвлекли внимание специально и перманентно корявым кодом, т.что народ начал его обсуждать а не над возможной проблемой думать...


 
Anatoly Podgoretsky ©   (2006-11-19 13:33) [53]

> sniknik  (19.11.2006 13:31:52)  [52]

Я когда проверял, скопировал код, я не хочу повторять его ошибок, в форуме один код не рабочий, а в программе другой.
Но я проверял не его код, как такой а свою идею. Она подтвердилась, у него ошибка где то в другом месте. В каком, ну так его спрашивали, а ответа не получили.


 
POP   (2006-11-19 13:37) [54]


> И нафига нам такая проверка?


А нафига проверки вообще нужны?


> Никакой ошибки данные код не выдает, проверка по CPU показывает
> правильную генерацию кода.
> Ой вешают нам лапшу на уши.


Я закачал чистый проект только с этой процедурой и кнопкой на http://rapidshare.com/files/3966906/HelloWorld.rar.html

Давай определимся, у тебя включена проверка на переполнение, кроме того ты ее воочию видишь в асм коде (вызовы call IntOver после операций умножения), ты пошагово проходишь эти инструкции и второй call у тебя не получает управление?

Приведи asm код который генерирует твой Delphi.

У меня Delphi 7.2 SE (Second Edition) Professional , весит в архиве он ~40mb, это облегченный вариант Delphi со всеми патчами и исправлениями.

Описание его здесь - http://www.liteapplications.com , нажать в меню "Delhi 7 Second Edition"


 
POP   (2006-11-19 13:40) [55]


> да не, одна возможность получить подобную ошибку при этом
> коде есть. т.что скорее не "лапшу на уши", а "пускают пыль
> в глаза", отвлекли внимание специально и перманентно корявым
> кодом, т.что народ начал его обсуждать а не над возможной
> проблемой думать...


Ты много таких людей видел , которые на специализированных форумах полдня пускают пыль в глаза и каверкают код специально?

Это форум для новичков, если ты видишь ошибку, то скажи где, для этого я здесь и совета спросил, потому что сам новичек.


 
Anatoly Podgoretsky ©   (2006-11-19 13:42) [56]

> POP  (19.11.2006 13:37:54)  [54]

> Давай определимся, у тебя включена проверка на переполнение

А зачем мне с тобой договариваться? Я уже давно на тебя плюнул.


 
Anatoly Podgoretsky ©   (2006-11-19 13:43) [57]

> POP  (19.11.2006 13:37:54)  [54]

> У меня Delphi 7.2 SE

Вот оно, Борланд такого продукта не выпускал.


 
Anatoly Podgoretsky ©   (2006-11-19 13:43) [58]

> POP  (19.11.2006 13:37:54)  [54]

> и исправлениями.

:-)


 
Anatoly Podgoretsky ©   (2006-11-19 13:44) [59]

> POP  (19.11.2006 13:40:55)  [55]

Ты не совета спросил, советы тебе уже давали, ты вываливал кучи недостоверного кода.


 
POP   (2006-11-19 14:02) [60]


> А зачем мне с тобой договариваться? Я уже давно на тебя
> плюнул.



> Ты не совета спросил, советы тебе уже давали, ты вываливал
> кучи недостоверного кода.


Я тебе не предлагал договариваться, все ошибки были чисто синтаксические,
ты увидев асмовский код и не разобравшись решил руки умыть, а если плюнул, то и не пиши больше.

Ты ошибки в коде не видишь, а вот shiknik что-то нашел.


 
sniknik ©   (2006-11-19 14:20) [61]

> Ты много таких людей видел , которые на специализированных форумах полдня пускают пыль в глаза
> и каверкают код специально?
а считай каждый второй такой (если не чаще), пишут не то что есть, а то что по их представлениям есть, не копируют код из реального проекта, а пишут в браузере (потом начинают оправдываться дельфи под рукой нет (а до того типа кучу советов проверяли, неподошли...)), и т.д.
правда такого редкого представителя как ты давно не было.

> не разобравшись решил руки умыть,
??? от этого "неразобравшегося" как раз был совет который бы избавил тебя от проблемы... (возможно, процентов 50-60 вероятности)

> а если плюнул, то и не пиши больше.
с удовольствием.

> Ты ошибки в коде не видишь, а вот shiknik что-то нашел.
не в коде! (опять врешь) читай [44] + [48], я сказал что догадался в чем она, и даже перечислил где ее можно найти... показанный код как раз таки был "реабилитирован".
вот почему и не хочется говорить... и вообще общаться. говорил же не люблю когда обманывают. ("новичок" в этом случае не оправдание)


 
Eraser ©   (2006-11-19 14:26) [62]

> [60] POP   (19.11.06 14:02)

Знакомый стиль изложения...

я не глотнуть ли тебе йаду а?


 
POP   (2006-11-19 14:38) [63]


> не в коде! (опять врешь) читай [44] + [48]


Я как сел за комп сегодня сразу сделал новый проект и проверил и об этом выше написал, даже выложил этот проект на rapidshare, ошибка присутствует.

Кроме того ты предлагаешь брать код из [34], тогда как Anatoly Podgoretsky говорит что 65535 это Integer и дескать так нельзя, я пробовал и так и Wor2 вместо 65535.

У меня такое ощущение что у вас у обоих Эго играет что пипец, дескать что этот новичек тут, врет все, хотя я не вру, я этот код выдирал из рабочей процедуры, из Delphi, удаляя все лишнее, а не сам выдумывал на ходу, отсюда и синтаксические ошибки.

Покажи твой асмовский код, который генерирует твой Delphi? на чистом проекте который я закачал.


 
Anatoly Podgoretsky ©   (2006-11-19 14:55) [64]

> POP  (19.11.2006 14:02:00)  [60]

shiknik тоже сказал, что давно на тебя плюнул, по той же причине.
У меня все работает правильно!


 
sniknik ©   (2006-11-19 14:55) [65]

> У меня такое ощущение что у вас у обоих Эго играет что пипец
и ты хочеш оскорблениями сподвигнуть нас на решение твоей проблемы? (насчет "слабо" я предупреждал ;о)), с другими в это играйся)

> тогда как Anatoly Podgoretsky говорит
он много чего говорит, то что тебе бы помогло ты проигнорировал...

> Покажи твой асмовский код, который генерирует твой Delphi?
http://img151.imageshack.us/my.php?image=cpuxo4.jpg
естественно не на твоем, а том что из ветки скопирован, зачем качать и т.д. если я знаю причину...???
это последнее мое сообщение здесь. т.к. чувствую дальше будет хуже.


 
Anatoly Podgoretsky ©   (2006-11-19 14:59) [66]

> POP  (19.11.2006 14:38:03)  [63]

Я не говорил, что так нельзя, я говорил, что Дельфи считает это за Integer и что она с ним будет делать это ее дело, первое что бы я сделал после таких фраз, так это ушел бы от литерала, хотя бы на время проверки, ты хочешь несколько причин искать, или хочешь количество причин уменьшить?
Вижу что больше хочешь потрепаться, вывалить кучу недостоверного кода и предъявлять потом претензии.
Давай, никто не запрещает, но чего тогда ты хочешь от нас? Взаимности? Так ты ее получил.


 
POP   (2006-11-19 15:06) [67]


> У меня все работает правильно!


Дак ты покажи асмовский код!! Сам же меня твердил, асм де спасет тебя.

Тем самым можно будет увидеть, мой Delphi 7.2 глючит при генерации кода или нет.


> то что тебе бы помогло ты проигнорировал...


У тебя похоже что-то с памятью, что это я проигнорировал? От тебя единственный совет был сделать на чистом проекте, что я сразу и сделал, но ты продолжил меня обвинять в идиотизме.

Ниже , на твоем скриншоте видно от чего такая ошибка, буду разбираться теперь от чего так, сам Delphi глючит или в настройки можно покапать.


> http://img151.imageshack.us/my.php?image=cpuxo4.jpg
> естественно не на твоем, а том что из ветки скопирован,
> зачем качать и т.д. если я знаю причину...???


Вот видишь, у тебя используется команды MUL, а у меня IMUL, я об этом еще с самого начала говорил после того как код асма привел, но вы "особо одаренные" это проигнорировали и начали меня обвинять в дурости и не следовании советам.


 
Anatoly Podgoretsky ©   (2006-11-19 15:07) [68]

> sniknik  (19.11.2006 14:55:05)  [65]

> чувствую дальше будет хуже.

Думаешь, правда к этому худше уже идет. :-)


 
Anatoly Podgoretsky ©   (2006-11-19 15:11) [69]

> sniknik  (19.11.2006 14:55:05)  [65]

> http://img151.imageshack.us/my.php?image=cpuxo4.jpg

Подобный по смыслу код.


 
POP   (2006-11-19 15:12) [70]


> Вижу что больше хочешь потрепаться, вывалить кучу недостоверного
> кода и предъявлять потом претензии.


Я вижу что это ты потрепаться хочешь, благодаря скриншоту shiknik причина ошибки обнаружена, теперь буду ее решать, если не удастся, то на BDS 2006 придеться перейти.

Мне кажется у тебя с головой что-то, где я недостоверный код привел?

Вот shiknik более адекватный человек, хоть и тоже с претензиями, ему эти синтаксические ошибки не надо было исправлять, он сразу к делу перешел и помог свои скрином... а тебе я советую последовать своему же желанию не писать больше здесь.


 
palva ©   (2006-11-19 15:31) [71]

> причина ошибки обнаружена
Хотелось бы все-таки увидеть код, который не работает и проверить его у себя.


 
Anatoly Podgoretsky ©   (2006-11-19 15:36) [72]

> POP  (19.11.2006 15:06:07)  [67]

У тебя своя Дельфи есть, я конечно покажу, но строго в твоем стиле, возьму и выложу точно такой же недостоверный код.


 
POP   (2006-11-19 15:36) [73]


> Хотелось бы все-таки увидеть код, который не работает и
> проверить его у себя.


Вcе есть в этом посте, мой асмовский код тоже, там команда IMUL, а вот на Shiknik тот же код с командой MUL , что и видно на его скрине, поэтому ошибки никакой нет.

Сейчас я переустанавливаю Delphi и наверное напишу на форуме разрабов, если они не разбируться, перейду на BDS 2006


 
Anatoly Podgoretsky ©   (2006-11-19 15:38) [74]

> POP  (19.11.2006 15:12:10)  [70]

Это скриншоту можно получить на твоем компьютере, точно так же как на моем, достаточно откомпилировать один из более менее достоверных вариантов.
Нашел ошибку, хорошо, но только я тебе не верю, слишком много раз ты обманывал.
Сейчас просто так говоришь, что бы не было стыдно.

> хоть и тоже с претензиями

А в зеркало нет желания посмотреть?


 
Anatoly Podgoretsky ©   (2006-11-19 15:39) [75]

> palva  (19.11.2006 15:31:11)  [71]

Приведеный им один из кодов нормально работает.
Получить его ассемблерный код не удалось.


 
Anatoly Podgoretsky ©   (2006-11-19 15:45) [76]

> POP  (19.11.2006 15:36:13)  [73]

Про IMUL/MUL было сказано в одном из первых постов.
При том выходит, что гражданин еще раз соврамши, оказывается что еще ничего не работает, возможно заработает после переустановки, не выпускаемоего Борландом продукта, о чем тоже было сказано ранее.


 
POP   (2006-11-19 16:04) [77]

Запостил насчет этой ошибки на форуме разработчиков - http://liteapp.18.forumer.com/index.php?showtopic=75

Посмотрим что люди отвечать будут.


> Это скриншоту можно получить на твоем компьютере, точно
> так же как на моем, достаточно откомпилировать один из более
> менее достоверных вариантов.
> Нашел ошибку, хорошо, но только я тебе не верю, слишком
> много раз ты обманывал.
> Сейчас просто так говоришь, что бы не было стыдно.


Я о тебе свое мнение уже составил пару постов назад.

Это Ты сейчас пишешь чтобы стыдно не было за свою некомпетентность, у меня сразу был достоверный код, разница лишь в синтаксических ошибках, называть это преднамеренным обманом может только очень глупый человек с раздутым эго.

Весь достоверный код это Size2:= (Wor2 * 65535); вместе с обяьвлением переменных, вот и все, они и генерирует ошибку.


 
Anatoly Podgoretsky ©   (2006-11-19 16:17) [78]

> POP  (19.11.2006 16:04:17)  [77]

Если бы, я пишу потому что мне стыдно за тебя и программисткое сообщество, которое ты позоришь, но ты можешь и дальше потрепаться.


 
Anatoly Podgoretsky ©   (2006-11-19 16:24) [79]

> POP  (19.11.2006 16:04:17)  [77]

> Это Ты сейчас пишешь чтобы стыдно не было за свою некомпетентность

Что поделаешь вокруг одни дураки.


 
POP   (2006-11-19 16:25) [80]


> сли бы, я пишу потому что мне стыдно за тебя и программисткое
> сообщество, которое ты позоришь, но ты можешь и дальше потрепаться.
>


Нда , стыдно ему за других, я свою проблему решаю, а вот ты трепешься.

Ты уже несколько раз отрекался писать в этом топике, а раз пишешь до сих пор, значит оправдываешься за свой поклеп.


 
Anatoly Podgoretsky ©   (2006-11-19 16:27) [81]

> POP  (19.11.2006 16:25:20)  [80]

Ты пытаешь ее решать на нашем горбу, постоянно предоставляя код, который даже не откомпилируется, когда тебе на это указывают, то ты бросаешь другую кучу мусора и предъявлешь претензии.
Тебя в детстве били? Видимо недостаточно.


 
POP   (2006-11-19 16:45) [82]


> Ты пытаешь ее решать на нашем горбу, постоянно предоставляя
> код, который даже не откомпилируется, когда тебе на это
> указывают, то ты бросаешь другую кучу мусора и предъявлешь
> претензии.
> Тебя в детстве били? Видимо недостаточно.


Вот и иди отсюда, если не хочешь чтобы на твоем горбу люди свои проблемы решали.

Например shiknik`у лишняя ";" проблем не доставила и человек хотел помочь и реально помог, тк в коде на 5 строк весь синтаксис виден, так что иди отсюда со своими претензиями.


 
Anatoly Podgoretsky ©   (2006-11-19 17:12) [83]

> POP  (19.11.2006 16:45:22)  [82]

Рано тебе еще людей с форума выгонять.
У меня кстати лишняя ";" тоже проблем не доставила, я на нее и не обращал внимания, хотя она тоже бы не позволила откомпилировать код.
Так что ты зря мне ее приписываешь, я, как и shiknik говорю одно и тоже -  ты выбросил кучу мусора на форум и предъявляешь претензии. А тебе никто ничего не обязан.


 
POP   (2006-11-19 17:54) [84]

2Anatoly Podgoretsky, смотри здесь - http://qc.borland.com/wc/qcmain.aspx?d=2571 , официальный фикс этой ошибки.

Так что твои претензии насчет того что я юзаю де не продукт Borland необоснованны, тк Delphi SE это тот же борланд но без лишнего мусора.


 
Anatoly Podgoretsky ©   (2006-11-19 18:58) [85]

> POP  (19.11.2006 17:54:24)  [84]

Контрольная закупка:

Трепется, трепется.



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

Форум: "Прочее";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.7 MB
Время: 0.044 c
4-1154078564
leonidus
2006-07-28 13:22
2006.12.10
Работа с Shell_NotifyIcon


2-1163761176
WhiteBarin
2006-11-17 13:59
2006.12.10
Выключение или перезагрузка компа через ExitWindowsEx?


15-1164106468
zdm
2006-11-21 13:54
2006.12.10
IDSmtp


9-1140081963
Древолаз
2006-02-16 12:26
2006.12.10
GL Scene Холм и Танк


2-1164206856
KyRo
2006-11-22 17:47
2006.12.10
Не могу удалить директорию





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