2012-04-16 3 views
2

Я в тупике! D5ent. У меня есть форма с дюжиной кнопок SpeedButtons. У меня есть набор данных с надписью, подсказкой и символом для всех двенадцати кнопок. Когда я запускаю базу данных, я могу назначить Caption, Hint, выбрать и сохранить растровое изображение для Glyph.DBImage не обновляется программно

Когда я использую DBNavigator для перехода, он правильно показывает индивидуальный DBImage с каждым растровым изображением для каждой кнопки. Однако во время выполнения, не так.

У меня есть этот код, который работает, хотя набор данных и когда я показываю ShowModal, все кнопки имеют правильные индивидуальные подписи и подсказки, но все они имеют один и тот же символ с первой кнопки.

procedure LoadButtons; 
    procedure SetButton(var aBtn : TSpeedButton); 
    begin 
    aBtn.Hint:=tblButtons.FieldByName('Hint').AsString; 
    aBtn.Caption:=tblButtons.FieldByName('Caption').AsString; 
    aBtn.Glyph.Assign(dbimgButton.Picture.Bitmap); 
    end; 
begin 
    tblButtons.First; 
    BtnCtr:=1; 
    repeat 
    case BtnCtr of 
     1 : SetButton(btn1); 
     2 : SetButton(btn2); 
     3 : SetButton(btn3); 
     // ... to twelve 
    end; 
    tblButtons.Next; 
    Inc(BtnCtr); 
    until tblButtons.EOF; 
end; 

конец;

Куда я иду не так? Я перепутались с Update, AutoDisplay, LoadPicture и т.д ...

Благодарности

+0

не понимаю. Я еще не получил никаких ответов. – user983145

+3

Удалить DisableControls, я не знаю, что такое 'dbimgProgram', но если это управляемый db-элемент, то он не обновляется из-за DisableControls. –

+0

AAAArrrggghhhhhh Спасибо Сертак. Нет пива для меня сегодня! – user983145

ответ

4

Если вы используете DisableControls то DB-Aware управления не обновляются в то время как цикл по набору данных. Если вы оцениваете глиф из такого элемента управления, вот почему все кнопки имеют глиф первой записи.

+3

+1 для навыков отладки pyschic. Хороший улов, и ОП сказал в комментариях выше, что вы прибивали его. :) –

Смежные вопросы