![]() |
Re: unbegründete AccessViolation?
Hallo,
Zitat:
//Edit: Noch was zur Frage: Was löst denn das Ereignis "Delete1Click" aus? Das sieht mir nach einem Menüeintrag aus (Du schreibst ja auch von einem Popup-Menü). Dann ist Sender natürlich der Menüpunkt und somit auch keine Paintbox. Gruß xaromz |
Re: unbegründete AccessViolation?
Die Online-Hilfe:
Zitat:
Korrigiere mich bitte, wenn ich mich irre! Gruß Hawkeye |
Re: unbegründete AccessViolation?
also das ist eigentlich nur ein test diese zeile - normal sollte es das bild halt leeren
das mit dem sender vom popup kommt mir aber seltsam vor weil ich komme trotz
Delphi-Quellcode:
absicherung in den block rein ;)
if Tpaintbox(Sender) <> nil then ...
grüße Nico |
Re: unbegründete AccessViolation?
danke das mit dem sender stimmte natürlich - ich hab als sender ja das popupmenu
@ christian ich versteh nich ich hab die richtigen tagwerte bekommen bei meiner kontrolle und bin in den block gekommen? |
Re: unbegründete AccessViolation?
Noch ein Wort zu Deiner "Absicherung": es ist keine! Der Sender sollte unter normalen Umständen <> NIL sein, daran ändert auch der TypeCast nichts.
Christians Vorschlag war
Delphi-Quellcode:
Gruß Hawkeye
if Sender is TPaintBox then ...
|
Re: unbegründete AccessViolation?
es geht doch noch nicht :(
Delphi-Quellcode:
procedure TMyArtz.NeuClick(Sender: TObject);
var newsheet:ttabsheet; begin newsheet := ttabsheet.Create(tabs); newsheet.Name := 'ts_' + IntToStr(nr); newsheet.PageControl := tabs; newsheet.Caption := 'Unbekannt_' + IntToStr(nr); pb := TPaintbox.Create(Tabs); pb.Parent := newsheet; pb.Tag := nr; pb.Name := 'pb_' + IntToStr(nr); pb.Width := tabs.Width; pb.Height := tabs.Height; inc(nr); end; procedure TMyArtz.Delete1Click(Sender: TObject); var i, w, h : Integer; begin w := TPaintbox(FindComponent('pb_' + IntToStr(tabs.ActivePageIndex))).width; h := TPaintbox(FindComponent('pb_' + IntToStr(tabs.ActivePageIndex))).height; TPaintbox(FindComponent('pb_' + IntToStr(tabs.ActivePageIndex))).Canvas.Rectangle(0,0,w,h); end; so muss es doch gehn? - ich hab drei seiten erstellt und hab bei activepage auch schon mal -1 genommen... |
Re: unbegründete AccessViolation?
Delphi-Quellcode:
procedure TMyArtz.Delete1Click(Sender: TObject);
var i, w, h : Integer; lElem: TPaintBox; begin If ( tabs.ActivePageIndex > -1 ) Then Begin lElem := FindComponent('pb_' + IntToStr(tabs.ActivePageIndex)) As TPaintBox; If Assigned(lElem) Then Begin w := lElem.width; h := lElem.height; lElem.Canvas.Rectangle(0,0,w,h); End; End; end; |
Re: unbegründete AccessViolation?
heyy danke vielmals :)
das nennt man guten start in den tag :thumb: ahh allerdings springts bei assigned(lelem) immer raus :( grüße Nico :) edit// pb := TPaintbox.Create(Self); hatte hinten Tabs stehen - in der früh merkt man die fehler eben :mrgreen: :mrgreen: danke an alle trotzdem vielmals ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz