Главная страница
    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.035 c
1-1078903609
siriusP
2004-03-10 10:26
2004.03.28
Ошибка при вызове ActiveX dll !!!


1-1078894720
msgipss
2004-03-10 07:58
2004.03.28
Принцип определения темноты цвета..


3-1077198083
Mox Fulder
2004-02-19 16:41
2004.03.28
DB-файл


3-1076912590
SPIDERus
2004-02-16 09:23
2004.03.28
Locate и loCaseInsensitive не работает с русскими буквами


3-1076332096
Pilot
2004-02-09 16:08
2004.03.28
Работа с EasyTable





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