Announcement

Collapse
No announcement yet.

Übergabe von Feldeigenschaften

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Übergabe von Feldeigenschaften

    Hallo,

    ich möchte aus einem Delphi-Programm heraus die Eigenschaften von Rave-Labels verändern, z.B. eine andere Schriftart, etc.. Das Ändern (der Schriftart) soll variabel gehalten sein.
    Leider lassen sich diese Eigenschaften nicht so wie im Quick-Report ändern, heißt ich bekomme die einzelnen Labels, etc. nicht direkt angesprochen. Ich habe auch versucht Parameter zu übergeben, aber über diese kann ich auch nur die Feldinhalte und nicht die Eigenschaften ändern.
    Nun meine Frage: Kennt jemand für mein Problem einen Lösungsweg oder kann er mich zumindest in meiner Meinung besätigen?

    Schonmal Danke
    Chris

  • #2
    chris,
    damit klappt der zugriff auf alle rave-komponenten:

    procedure TForm1.Button1Click(Sender: TObject);
    var
    PageBitmap: TRavePage;
    LogoBmp: TRaveBitmap;
    begin
    PageBitmap := RvProject1.ProjMan.FindRaveComponent('GlobalPage1' , nil) as
    TRavePage;
    LogoBmp := RvProject1.ProjMan.FindRaveComponent('BLogo', PageBitmap) as
    TRaveBitmap;
    LogoBmp.FileLink := 'ndlogoheader.bmp';
    RvProject1.ExecuteReport('Report1');
    end

    Comment


    • #3
      Hallo,

      erstmal danke für die Antwort
      leider erhalte ich immer, wenn ich versuche die Eigenschaften einer Ravekomponente zu ändern eine Schutzverletzung.
      Die Namen sind 1:1 die im Rave-Report. Müssen die Komponenten zuvor noch kreiert werden?
      Hier mein Source-code, ist dieser so korrekt?

      PageStart: TRavePage;
      TextTitel: TRaveText;

      PAgeStart:=druckmodul.Kurz.ProjMan.FindRaveCompone nt('GlobalPage', nil) as TRavePage;
      TextTitel:=druckmodul.kurz.ProjMan.FindRaveCompone nt('Titel', PageStart) as TRaveText;

      if (Sprache= 'DE') then
      begin
      TextTitel.Text:='Deutscher Titel' ;// Hier gibt es probleme
      end
      else
      TextTitel.text:='Englischer Titel';

      Für Tips und Anregungen bin ich dankbar...

      Grüße
      Chri

      Comment


      • #4
        chris,

        gibt es wirklich die GlobalPage, oder ist es GlobalPage1 ??
        ansonsten sieht es beim überfliegen des codes ganz gut aus!

        :-) thoma

        Comment


        • #5
          Hallo Thomas,
          danke nochmal, es klappt jetzt. Der Name der Seite war schon richtig, habe aber vergessen vorher das Raveprojekt zu öffnen.
          Textfelder kann ich nun problemlos ansprechen, aber ich kann keine Rechtecke ansprechen. Bei dem Aufruf :"
          Rahmen1 :=FindRaveComponent('Rahmen1', RBZPageStart) as TRect; " erhalte ich den Fehler 233 : Operator ist auf diesen Operandentyp nicht anwendbar.
          Ist bekannt, ob das prinzipell nicht geht ? Oder muss ich die Rechtecke anderst ansprechen ?
          Gibt es vielleicht eine Liste, die alle Ravekomponenten enthält, bzw. wie man diese aus Delphi ansprechen kann?
          Danke im voraus !

          Chri

          Comment


          • #6
            chris,

            unter
            http://www.nevrona.com/rave/downloadbe.html
            im bereich von rave 3.0g ist eine publicclass.pdf (oder so ähnlich...)
            hier sind alle units etc. enthalten. ist bei rave5 fast unverändert zu übernehmen!!
            Rahmen1 sollte gehen, habe ich aber bisher noch nicht getestet (schau einmal in die pdf-datei)!
            aber noch ein kleiner tip: die seite als "globalpage" zu benennen, ist möglicherweise gefährlich, da es eigentlich als reserviertes wort zu sehen ist....

            gruss

            :-) thoma

            Comment

            Working...
            X