Forum Replies Created
-
AuthorPosts
-
FreezerParticipant
Просто в папку с exe'шкой положи acntBCB6_R.bpl, и она запуститься на другой машине.
Это не ошибка AlphaControls, просто почитайте что такое runtime пакеты.
Google вам в помощь))
FreezerParticipantЕсли срочно, тогда просто в своем таймере проверяй компоненты, к которым обращаешься, на Nil. Так сможешь пока обойти глюк или же отключать таймер как ты это предлагал ранее.
FreezerParticipantУправлять видом компонентов можешь либо ты (рисовать руками на TCanvas), либо скин, либо Система. Что бы отвечала за прорисовку система и это не зависело от системных настроек – не получится. Лучше всего – подправь скин под тот вид, который тебе нравится.
FreezerParticipant'Mike' wrote:Как-то так:
// uses acPNG;
PNGGraphic := TPNGGraphic.Create;
PNGGraphic.LoadFromStream(TFileStream или TMemoryStream);
sAlphaImageList1.Add(P, Nil);
PNGGraphic.Free;
Спасибо за ответ, ваш способ тоже действенный.
Моя ошибка состояла в том что я использовал не TPNGGraphic из acPNG, а TPNGObject из пакета FastReport. Так вот FastReport'овский TPNGObject наследуется не от TBitmap, а от TGraphic. По этому передать его в sAlphaImageList1.Add не получалось. Выкрутился кодом приведенным выше))
FreezerParticipantПроблему решил сам, правда пришлось убить 3 часа для экспериментов. Просьба для разработчиков, добавить в документацию информацию поподробнее по TsAlphaImageList.
Если кому-то нужно будет, выкладываю код:
Code://qrStatus : TOraQuery;
//imStatus : TsAlphaImageList;
procedure Load;
var
s : TMemoryStream;
xItem : TsImgListItem;
begin
qrStatus.Close;
qrStatus.Open;
imStatus.Clear;
imStatus.Items.Clear;
imStatus.AcBeginUpdate;
while not qrStatus.Eof do begin
s := TMemoryStream.Create;
TBlobField(qrStatus.FieldByName('PNGIcon')).SaveToStream(s);
s.Position := 0;
xItem := TsImgListItem.Create(imStatus.Items);
xItem.ImageFormat := ifPNG;
xItem.PixelFormat := pf32bit;
xItem.ImgData.LoadFromStream(s);
s.free;
qrStatus.Next;
end{while};
imStatus.AcEndUpdate;
end; -
AuthorPosts