AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frame aus eigener Prozedur aufrufen

Ein Thema von pmros · begonnen am 8. Sep 2015 · letzter Beitrag vom 9. Sep 2015
Antwort Antwort
nahpets
(Gast)

n/a Beiträge
 
#1

AW: Frame aus eigener Prozedur aufrufen

  Alt 8. Sep 2015, 21:54
Du möchtest in der Prozedure, abhängig vom Inhalte einer Zeichenfolge, auf einen Frame zugreifen, ohne ihr den Frame bekanntzumachen.
Ich vermute, das Problem ist, dass versucht wird, auf die automatisch angelegte globale Variable zuzugreifen, die aber nicht sichtbar ist.
Exakt das ist das Problem.
Nur wie löse ich das, wenn ich den Quelltext dazu nicht kenne.

Eventuell könnte eine Änderung der Prozedure in der Form procedure FormMain.CNCCommandBox(H:String); und ihre Aufnahme in die Private-Deklarationen der Formulars mit procedure CNCCommandBox(H:String); ausreichen. Dann wird sie (vermutlich) auch alle Frames auf dem Formular kennen.

Die Prozedure könnte dann eventuell so aussehen:
Delphi-Quellcode:
procedure FormMain.CNCCommandBox(H:String);
begin
  if (H ='A') then begin
    FrameA.visible:=true;
    FrameA.Left:=1;
    FrameA.Top:=2;
    FrameA.EditX.Text := 'A';
  end else
  if (H ='B') then begin
    FrameB.visible:=false;
    FrameB.Left:=1;
    FrameB.Top:=2;
    FrameB.EditX.Text := '';
  end else
  if (H ='H') then begin
    FrameH.visible:=true;
    FrameH.Left:=192;
    FrameH.Top:=232;
    FrameH.EditX.Text := '';
  end;
  Mit Zitat antworten Zitat
pmros

Registriert seit: 8. Sep 2015
22 Beiträge
 
#2

AW: Frame aus eigener Prozedur aufrufen

  Alt 8. Sep 2015, 22:00
Zitat:
Nur wie löse ich das, wenn ich den Quelltext dazu nicht kenne.
Ach dafür hättest du den gebraucht...

Zitat:
Delphi-Quellcode:
procedure FormMain.CNCCommandBox(H:String);
begin
  if (H ='A') then begin
    FrameA.visible:=true;
    FrameA.Left:=1;
    FrameA.Top:=2;
    FrameA.EditX.Text := 'A';
  end else
  if (H ='B') then begin
    FrameB.visible:=false;
    FrameB.Left:=1;
    FrameB.Top:=2;
    FrameB.EditX.Text := '';
  end else
  if (H ='H') then begin
    FrameH.visible:=true;
    FrameH.Left:=192;
    FrameH.Top:=232;
    FrameH.EditX.Text := '';
  end;
Ja, so soll mein Code aussehen! Ich probier das jetzt erst einmal. Danke.
  Mit Zitat antworten Zitat
Antwort Antwort


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 07:27 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-2025 by Thomas Breitkreuz