Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.03.28;
Скачать: CL | DM;

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.08 c
1-1078405248
Silver_
2004-03-04 16:00
2004.03.28
В OnCreate Формы требуется Application.Terminate но...


14-1078401098
alless
2004-03-04 14:51
2004.03.28
xaker.ru Закрылся?


14-1078218849
Eugenez
2004-03-02 12:14
2004.03.28
Ищу СD !!!


1-1078398447
Лысый
2004-03-04 14:07
2004.03.28
DBComboBox


3-1077159983
Sirus
2004-02-19 06:06
2004.03.28
Максимальное количество Insert и Update в одной тарнзакции...