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

Вниз

WM_KILLFOCUS   Найти похожие ветки 

 
DevilDevil ©   (2006-10-25 17:56) [0]

В каких случаях приложению может придти это сообщение? У меня не поймёшь по какой причине оно приходит...


 
Игорь Шевченко ©   (2006-10-25 17:59) [1]

Ни в одном случае приложению это сообщение не приходит. Равно как и все остальные сообщения тоже не приходят приложению ни в каких случаях.


 
DevilDevil ©   (2006-10-25 18:06) [2]

> Игорь Шевченко ©   (25.10.06 17:59) [1]

Очень смешно!

А вообще, извиняюсь, сильно ступил; от отчаяния наверное.
Не могу найти, в  каком месте у меня ошибка, которая приводит к ошибке доступа к данным по адресу $00000004


 
DVM ©   (2006-10-25 18:09) [3]


> У меня не поймёшь по какой причине оно приходит...

Приходит окну при потере фокуса очевидно.


 
DevilDevil ©   (2006-10-25 19:44) [4]

> Приходит окну при потере фокуса очевидно.

Да это то я знаю, всё равно спасибо.

Ошибку нашёл. Странная она какая-то:

ОШИБКА:

for i := 0 to length(DinamicArray)-1 do
with DinamicArry[i] do ...


НЕТ ОШИБКИ:

if length(DinamicArray)<>0 then
for i := 0 to length(DinamicArray)-1 do
with DinamicArry[i] do ...


Кто нибудь знает, что происходит?


 
Gero ©   (2006-10-25 19:57) [5]

> [2] DevilDevil ©   (25.10.06 18:06)

Нет, не смешно, а грустно.


 
Германн ©   (2006-10-26 00:24) [6]


> Кто нибудь знает, что происходит?
>

Многие знают. Тем более что не так давно было весьма активное обсуждение сколько раз выполнится подобный цикл при разных типах переменной цикла. :-)


 
DevilDevil ©   (2006-10-26 12:25) [7]

> Германн ©   (26.10.06 00:24) [6]

procedure TForm1.FormCreate(Sender: TObject);
var i, Count, Iterations : integer;
begin
   Iterations := 0;

   Count := 0;
   for i := 0 to Count - 1 do
   inc(Iterations);

   Caption := IntToStr(Iterations);
end;


Или ты хочешь сказать, что length() возвращает DWORD?


 
ЮЮ ©   (2006-10-26 12:36) [8]


> Или ты хочешь сказать, что length() возвращает DWORD?


нет, это i в первом примере может быть DWORD.

З.Ы. Следую включить Range Checking в опциях проекта, иначе при неаккуратной работе с динамическими массивами AV и прочие просто неизбежны и трудно уловимы


 
DevilDevil ©   (2006-10-26 12:45) [9]

> нет, это i в первом примере может быть DWORD.

Нет, i : Integer; ...

Может тогда ответите на следующий вопрос:

Конкретно в этом проекте обращение PbyteArray[i] вызывает ошибку доступа к памяти. Обращение pbyte( Integer(PByteArray) + i )^ работает корректно. Из-за чего в первом случае вызывается ошибка?


 
ЮЮ ©   (2006-10-26 12:54) [10]

PByteArray, случаем не TByteDynArray?
Если так, то  Integer(PByteArray) + i вполне может оказаться в твоем адресном пространстве, но это вовсе не i-ый  элемент твоего массива. Надеюсь, ты не правишь данные таким способом?


 
DevilDevil ©   (2006-10-26 13:09) [11]

:)

type
  TByteArray = array[0..0] of byte;
  PByteArray = ^TByteArray;

var
  Line : PByteArray;
  i : intger;
begin
  Line := Bitmap8.ScanLine[0];

  for i := 0 to Bitmap8.Width - 1 do
  Line[i] := 0;
end;


<-- достаточно часто видел такое обращение. Один и тот же код работает корректно в других проектах и вызывает ошибку в моём. Почему?



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

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

Наверх





Память: 0.47 MB
Время: 0.039 c
15-1161632618
Bibikanov_Andrea
2006-10-23 23:43
2006.11.12
Футболки для корпоративной команды


2-1161943048
Ngk88
2006-10-27 13:57
2006.11.12
Четное или нечетное число


2-1161946280
dm37
2006-10-27 14:51
2006.11.12
Модальная форма


15-1161596313
clickmaker
2006-10-23 13:38
2006.11.12
Мужики, посоветуйте UML-редактор для виндов


2-1162109258
Pazitron_Brain
2006-10-29 11:07
2006.11.12
Перевод Dec-->Bin и обратно





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