AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

unbegründete AccessViolation?

Offene Frage von "Nicodius"
Ein Thema von Nicodius · begonnen am 7. Apr 2006 · letzter Beitrag vom 8. Apr 2006
Antwort Antwort
Seite 1 von 2  1 2   
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#1

unbegründete AccessViolation?

  Alt 7. Apr 2006, 21:32
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 := Tabs.Pages[nr];
  pb.Tag := nr;
  pb.Name := 'pb_' + IntToStr(nr);
  inc(nr);
end;

procedure TMyArtz.Delete1Click(Sender: TObject);
var i : Integer;
begin
  i := TPaintbox(Sender).Tag;
  TPaintbox(Sender).Canvas.Rectangle(0,0,TPaintbox(Sender).Width, TPaintbox(Sender).Height);

end;
kurz - popup auf einem tabsheet wo auf dynamisch generiertenseiten auf pupupclick etwas geschehen soll..

ich kann nur darauf nicht zeichnen - sehr wohl aber .destroy ohne fehler bzw alle anderen sachen.


wär super hätte wer einen fehler gefunden(komm einfach nicht drauf und mag nicht stupide um diese uhrzeit rumprobieren)

grüße Nico
Nico Müller
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: unbegründete AccessViolation?

  Alt 7. Apr 2006, 21:35
Die Sheets haben keinen Parent.
Markus Kinzler
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#3

Re: unbegründete AccessViolation?

  Alt 7. Apr 2006, 21:36
newsheet.PageControl := tabs; genügt wenn ich mich nicht irre


zumal das unten irrelevant ist
Nico Müller
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: unbegründete AccessViolation?

  Alt 7. Apr 2006, 21:39
Moin Nico,

prüf' doch erst einmal, ob der Sender überhaupt eine Paintbox ist:

if Sender is TPaintBox then ... oder lass' Dir mit

ShowMessage(Sender.Classname); mal ausgeben, welche Klasse der Sender hat.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: unbegründete AccessViolation?

  Alt 7. Apr 2006, 21:39
Ist möglich, würde es aber an deiner Stelle versuchen ob es was hilft, den parent zu setzen.
Die Symptomatik weist jedenfalls auf den fehlenden parent hin.
Markus Kinzler
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#6

Re: unbegründete AccessViolation?

  Alt 7. Apr 2006, 21:41
@christian - hi


hatte ich vorhin zur kontrolle drinnen - der sender stimmt.

@mkinzler - danke, aber ist sicher nicht das problem(habs auch probiert )
Nico Müller
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: unbegründete AccessViolation?

  Alt 7. Apr 2006, 21:46
Versuch mal pb.Parent := newsheet; statt Tabs.Pages[nr]; Was ist der Initialwert von nr? 0 oder 1
Markus Kinzler
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#8

Re: unbegründete AccessViolation?

  Alt 7. Apr 2006, 21:49
Hi Nico,

würde es helfen, der Paintbox eine Größe zu geben?

Gruß Hawkeye
  Mit Zitat antworten Zitat
Nicodius

Registriert seit: 25. Apr 2003
Ort: Graz
2.234 Beiträge
 
Delphi 2006 Architect
 
#9

Re: unbegründete AccessViolation?

  Alt 7. Apr 2006, 21:50
ging auch nicht


der initialisierungswert ist 0 aber mit eins gehts auch nicht vorneweg


@hawk - leider nicht - aber danke dass hab ich sowieso vergessen gehabt stimmt
Nico Müller
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#10

Re: unbegründete AccessViolation?

  Alt 7. Apr 2006, 21:58
Was mir gerade noch so auffällt:

Bei einer TPaintBox sollte man doch nur in der Behandlungsroutine für OnPaint zeichnen.
Ist "Delete1Click" wirkliche diese Routine?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz