Главная страница
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.021 c
3-1076933565
Александр
2004-02-16 15:12
2004.03.28
LocateNext


8-1069441364
Eagle Owl
2003-11-21 22:02
2004.03.28
Direct3DRM


8-1069686747
NetKnight
2003-11-24 18:12
2004.03.28
Как уменьшить JPEG, как это делает Photoshop без потери качества?


3-1077710951
denmin
2004-02-25 15:09
2004.03.28
Проблема с Smalldatetime


6-1074541921
Vik_Mix
2004-01-19 22:52
2004.03.28
ServerSocket