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

Вниз

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

 
Armen   (2004-03-11 01:30) [0]

D7, w2003 server.

procedure Form1.Test;
begin
 ComboBox1.Items.Add("");
 ShowMessage(ComboBox1.Items[0]);
end;

получаем
Debugger Exception Notification
---------------------------
Project Project2.exe raised exception class EAccessViolation with message "Access violation at address 7846C7A4 in module "ntdll.dll"...

Под рукой нету w2000/xp. Кто нить может проверять этот код под w2000/xp?


 
Armen   (2004-03-11 01:43) [1]

Люди !!!!!!!!
Очень прошу, проверьте пожалуйста.
Срочно надо.


 
Defunct ©   (2004-03-11 01:44) [2]

Проверил на XP и W2K AS работает:

procedure TForm1.Button1Click(Sender: TObject);
begin
ComboBox1.Items.Add("");
ShowMessage(ComboBox1.Items[0]);
end;


 
Алхимик ©   (2004-03-11 01:45) [3]

Везде Exception будет.


 
Алхимик ©   (2004-03-11 01:50) [4]


> [2] Defunct ©   (11.03.04 01:44)

Странно...
98 и 2000 - exception


 
Armen   (2004-03-11 02:01) [5]

To Defunct:
 А у тебя D7?

Алхимик:
Так что, bug Delphi7 ?


 
Armen   (2004-03-11 02:06) [6]

Сегодня это уже второй access violation.

Первый решил, пришлось поправить GetEnvironmentVariable в SysUtils.pas, а вот этот теряется где то в procedure TWinControl.DefaultHandler(var Message);


 
Armen   (2004-03-11 02:13) [7]

Если поставить ComboBox1.Style:= csOwnerDraw..., то вообще невозможно его DropDown-ить.
Херня какая то ...


 
Armen   (2004-03-11 02:29) [8]

Оказалось это известный bug!
Fix лежит http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=18872


 
Defunct ©   (2004-03-11 02:36) [9]

Armen   (11.03.04 02:01) [5]
To Defunct:
А у тебя D7?


У меня D7, правда пропатченый. Не знал, что был в нем такой баг ;)


 
Armen   (2004-03-11 14:22) [10]

Да вот другой патч от меня

Меняем в StdCtrls.pas на это, перекомпилируем StdCtrls и все начинает работать.

function TCustomComboBoxStrings.Get(Index: Integer): string;
var
 Len: Integer;
begin
 Len := SendMessage(ComboBox.Handle, CB_GETLBTEXTLEN, Index, 0);
 if Len <> CB_ERR then
 begin
   SetLength(Result, Len + 1);
   SendMessage(ComboBox.Handle, CB_GETLBTEXT, Index, Longint(PChar(Result)));
 end
 else
   SetLength(Result, 0);
end;

Вот только вопрос знатокам:
Как перекомпилить package-и чтоб можно было работать и с Build with runtime Packages ???



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

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

Наверх




Память: 0.46 MB
Время: 0.044 c
1-1078853788
DelphiN!
2004-03-09 20:36
2004.03.28
CreateMappingFile


1-1078389952
Calm
2004-03-04 11:45
2004.03.28
Как построить график в реальном времени по данным с COM-порта?


14-1077690128
Kerk
2004-02-25 09:22
2004.03.28
Злой автобус


8-1068752270
Seldon
2003-11-13 22:37
2004.03.28
Скриншот видео.


1-1078762909
Islander
2004-03-08 19:21
2004.03.28
Непонятки с {$DEFINE}





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