Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    111

    Reflection e istanze

    Ho usato una reflection per creare una istanza di una form dll.
    Ogni volta che viene passato il codice si crea una nuova copia dell'oggetto.
    Vorrei effettuare un controllo per verificare se la form è gia aperta, e in questo caso non creare una seconda copia.
    Qualcuno mi sa aiutare?

    (Il problema consiste nel fatto che il form, essendo stato aperto tramite reflection, non appare come un oggetto di cui il programma è al corrente).
    Grazie

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Linguaggio? (come da Regolamento?)
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    111
    Scusa. E' VB.NET.
    Sai rispondermi?

  4. #4
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    potresti usare le api di windows per recuperare le finestre aperte

    se trovi la tua non fai nulla

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    111
    Non so come si fa...
    Mi puoi fare un esempio? Grazie.
    Questa tecnica funziona anche con le form master/child?

  6. #6
    Utente di HTML.it L'avatar di Stoicenko
    Registrato dal
    Feb 2004
    Messaggi
    2,254
    se parli di mdi credo non funzionino..

    per le api guarda il sito http://www.pinvoke.net/ li hai tutte le spiegazioni e le api che puoi usare

  7. #7
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249

    Re: Reflection e istanze

    Originariamente inviato da Stibbert
    (Il problema consiste nel fatto che il form, essendo stato aperto tramite reflection, non appare come un oggetto di cui il programma è al corrente).
    Grazie
    non è vero. Basta tenere un riferimento alla istanza appena creata.
    Immagino che tu utilizzi qualcosa del genere per creare un istanza:Activator.CreateInstance(type).

    Se è cosi' allora fai una cosa del genere e hai rispolto il tuo problema:
    Form frmCurrent = null; <---sarebbe un camo dati di una classe!!

    poi nel codice che crea le istanze:
    if (frmCurrent == null)
    frmCurrent = (Form) Activator.CreateInstance(type);

    quindi l'istanza viene creata solo una volta...
    I got the remedy

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.