Visualizzazione dei risultati da 1 a 10 su 11

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    1,326
    il frametabellaII è:

    type
    TFrameTabellaII = class(TMyCustomPageFrame)

    il TMyCustomPageFrame è il frame che tu mi suggeristi di utilizzare...
    un frame Vuoto con dentro 3 eventi...:

    public
    { Public declarations }
    procedure InitializePage; virtual;
    procedure ClosePage; virtual;
    procedure RefreshStyle; virtual;
    end;



    non so se ricordi....

    per passare un parametro che nel mio caso è il nome della tabella (da anni fa - quando avevo ancora meno conoscenza di oggi-) utilizzavo sempre la proprieta hint del frame che creavo.

    codice:
    procedure TFrmMain.ShowPage(PageClass: TMyPageFrameClass; Pulsante:String);
    begin
    
    
      if PageClass = nil then Exit;
    
    
      if (FCurrentPage <> nil) and (FCurrentPage.Hint = Pulsante)
         then Exit;
    
    
      if FCurrentPage <> nil then
      begin
       // FrmMain.Caption:=NomeProgramma+' - '+NomeOperatore ;
        screen.Cursor := crHourGlass;
        FCurrentPage.ClosePage;
        FCurrentPage.Free;
        FCurrentPage := nil;
        screen.Cursor := crDefault;
      end;
      FCurrentPage := PageClass.Create(Self);
      FCurrentPage.Hint := Pulsante;
      try
        if FCurrentPage <> nil then
        begin
          screen.Cursor := crHourGlass;
          FCurrentPage.Parent := FrmMain ;
          FCurrentPage.InitializePage;
          screen.Cursor := crDefault;
        end;
      except              
        screen.Cursor := crHourGlass;
        FCurrentPage.ClosePage;
        FrmMain.Caption:=NomeProgramma+' - '+NomeOperatore ;
        FCurrentPage.Free;
        FCurrentPage := nil;
        try
        ShowPage(TFrameMenuPulsanti,MenuHome.Name);
        except
        end;
        screen.Cursor := crDefault;
      end;
    end;
    adesso, in più, sul frame ho messo un tbutton con il quale visualizzo una finestra MODALE nella quale gestire la tabella 'COMUNI' (non è importante se minuscolo o MAIUSCOLO)

    il findcomponent lo utilizzo per assegnare al nuovo form e al nuovo frame un nome univoco ma certamente da come mi fai intendere è inutile! nell'esempio HO SBAGLIATO per la fretta scusa. ....
    MioFrame.Name :='MioFrametttttt'+IntToStr(i);


  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,477
    Quote Originariamente inviata da 123delphi321 Visualizza il messaggio
    il frametabellaII è:

    type
    TFrameTabellaII = class(TMyCustomPageFrame)

    il TMyCustomPageFrame è il frame che tu mi suggeristi di utilizzare...
    Quella classe era il nome di un TFrame creato da zero.
    Non è una classe da utilizzare, è il nome di una classe di un semplice TFrame, nulla di più nulla di meno.

    Quote Originariamente inviata da 123delphi321 Visualizza il messaggio
    un frame Vuoto con dentro 3 eventi...:

    public
    { Public declarations }
    procedure InitializePage; virtual;
    procedure ClosePage; virtual;
    procedure RefreshStyle; virtual;
    end;
    Non sono eventi, sono metodi.

    Quote Originariamente inviata da 123delphi321 Visualizza il messaggio
    non so se ricordi....
    Sì, ma quella implementazione - nella sua incarnazione specifica - funzionava senza problemi: bisogna vedere come è stata modificata in seguito e quale codice è stato aggiunto che non è correlato specificatamente alla gestione dei Frame in sé (es. logiche di business).

    Quote Originariamente inviata da 123delphi321 Visualizza il messaggio
    per passare un parametro che nel mio caso è il nome della tabella (da anni fa - quando avevo ancora meno conoscenza di oggi-) utilizzavo sempre la proprieta hint del frame che creavo.
    Io avrei creato una proprietà ad hoc: la proprietà Hint serve ad altro e piegarla a utilizzi diversi è fuorviante, oltre al fatto che potrebbero servire potenzialmente altre proprietà per veicolare più informazioni, quindi meglio aggiungere proprietà pubbliche per i propri scopi, con un nome che indichi a cosa servono.

    Quote Originariamente inviata da 123delphi321 Visualizza il messaggio
    adesso, in più, sul frame ho messo un tbutton con il quale visualizzo una finestra MODALE nella quale gestire la tabella 'COMUNI' (non è importante se minuscolo o MAIUSCOLO)
    C'è qualcosa in quella gestione che non funziona o "calpesta" i piedi a porzioni di codice in cui non si deve passare.
    Non posso dirti cosa non va con gli elementi che abbiamo in mano.
    Fai debug passo per passo e verifica cosa avviene nel flusso di lavoro dell'applicazione.

    Quote Originariamente inviata da 123delphi321 Visualizza il messaggio
    il findcomponent lo utilizzo per assegnare al nuovo form e al nuovo frame un nome univoco ma certamente da come mi fai intendere è inutile! nell'esempio HO SBAGLIATO per la fretta scusa. ....
    Se non è nemmeno sicuro che il codice sia esattamente quello che hai scritto, come si fanno a dare indicazioni?
    Ad ogni modo, rilancio l'idea di fare debug passo per passo mettendo appositi breakpoint nei punti nevralgici e verificando lo stato delle variabili e il valore rispetto a quello atteso, e come si arriva a determinati punti nella sequenza di istruzioni che viene eseguita.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.