AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi beim zweiten Aufruf der Procedure wird nichtmehr gezeichnet

beim zweiten Aufruf der Procedure wird nichtmehr gezeichnet

Ein Thema von punker-lili · begonnen am 17. Mai 2008 · letzter Beitrag vom 18. Mai 2008
Antwort Antwort
Seite 1 von 2  1 2   
punker-lili

Registriert seit: 22. Apr 2007
91 Beiträge
 
#1

beim zweiten Aufruf der Procedure wird nichtmehr gezeichnet

  Alt 17. Mai 2008, 17:33
Hi Leute!

Als o ich hab ne Procedure entworfen, welche Notenlinien zeichne. Beim ersten Aufruf auf nem Image funktioniert alles noch, aber beim zweitenmal zeichnet er nicht. Woran kann das liegen?
Delphi-Quellcode:
procedure notenlinie_zeichnen(shape:Timage;abstand:integer;canvas:Tcanvas);
var nl,x1,x2,y:integer;
begin
for nl:=1 to 5 do
 begin
  y:= shape.top + 6*abstand + (nl-1)*abstand;
  // 6 * Abstand = freier Abstand nach oben für Töne Oberhalb d. Notensystems -->shape1.top= oberer x,yWert von c'''' = 1 bei Schnittstellendatei
  x1:= shape.left;
  x2:=shape.left + shape.width;
   Canvas.Brush.Color:=clblack;
   Canvas.PolyLine([Point(x1,y),Point(x2,y)]);
  end;
 end;
Ich erstelle das zweite Image zwar dynamisch, aber acuh wenn ich ein zweites statisch erstelle, zfunktiniert nichts..*grumel*

HDanke schon einmal im voraus!

Anna
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: beim zweiten Aufruf der Procedure wird nichtmehr gezeich

  Alt 17. Mai 2008, 17:35
Überleg Dir mal, auf wessen Canvas Du zeichnest.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: beim zweiten Aufruf der Procedure wird nichtmehr gezeich

  Alt 17. Mai 2008, 17:35
Wie erzeugst du die Imgages? Wo rufst du die Methode auf?
Markus Kinzler
  Mit Zitat antworten Zitat
punker-lili

Registriert seit: 22. Apr 2007
91 Beiträge
 
#4

Re: beim zweiten Aufruf der Procedure wird nichtmehr gezeich

  Alt 17. Mai 2008, 17:42
@DeddyH: auf wessen Canvas?.. na ich sag ihm doch bei der Parameterübergabe, wie das Image heißt... Oder was muss ich da noch berücksichtigen? *komisch guck*

@mkinzle: Naja.. ich hab den Aufruf nicht als MEthode gespeichert, da ich 1. nur an einer Stelle brauche u. 2. nicht weiß wie das mache.
Also erstell ich die neuen Images wie folgt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 image_neu: Timage;
begin
 image_neu:=Timage.Create(Self);
 with image_neu do
 begin
     Parent:=Form1;
     Left:=100;
     Top:=100;
 end;
end;
Und die notenlinie_zeichnen Procedure rufe ich wie eine normale Procedure auf...

MfG Anna
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: beim zweiten Aufruf der Procedure wird nichtmehr gezeich

  Alt 17. Mai 2008, 17:46
Und wo?
Markus Kinzler
  Mit Zitat antworten Zitat
punker-lili

Registriert seit: 22. Apr 2007
91 Beiträge
 
#6

Re: beim zweiten Aufruf der Procedure wird nichtmehr gezeich

  Alt 17. Mai 2008, 17:48
na im Hauptprogramm..unit1 beim Buttonclick..oder wie meisnt du das wo?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.536 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: beim zweiten Aufruf der Procedure wird nichtmehr gezeich

  Alt 17. Mai 2008, 17:50
Versuch es mal mit
Delphi-Quellcode:
shape.Canvas.Brush.Color:=clblack;
shape.Canvas.PolyLine([Point(x1,y),Point(x2,y)]);
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#8

Re: beim zweiten Aufruf der Procedure wird nichtmehr gezeich

  Alt 17. Mai 2008, 17:50
Er möchte den Aufruf sehen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: beim zweiten Aufruf der Procedure wird nichtmehr gezeich

  Alt 17. Mai 2008, 17:51
Irgendwie hast du einen Instinkt dafür, das wichtige wegzulassen.
Markus Kinzler
  Mit Zitat antworten Zitat
punker-lili

Registriert seit: 22. Apr 2007
91 Beiträge
 
#10

Re: beim zweiten Aufruf der Procedure wird nichtmehr gezeich

  Alt 17. Mai 2008, 17:58
@mkinzler
*komisch guck*...
Delphi-Quellcode:
      with image_neu do
      begin
        Parent:=ScrollBox1;
        Left:=image_alt.left;
        Top:=image_alt.Top+image_alt.Height+c_zwischen;
        width:=image_alt.Width;
        height:=image_alt.Height;
       end;
      image_alt:=image_neu;
    notenlinie_zeichnen(image_alt,c_abstand,canvas);
    with image2 do
 [b] notenlinie_zeichnen(image_alt,c_abstand,canvas)[/b]
   end;
... sry... nur den aufruf finde ich nicht spektakulär... ich hab die werte eingesetzt...

@DeddyH
Das habe ich schon ausprobiert... zudem setzte ich im gesamtenprogramm, die Farbe nur auf Schwarz, aber nicht aud weiß...
  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 02:49 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