tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
9
ZUGRIFFE
356
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    hibbert hibbert ist offline Mitglied Bronze
    Registriert seit
    Sep 2003
    Beiträge
    44
    hi,
    also ich muss gleich zu anfang zugeben, dass ich kaum erfharung mit vb habe, aber schon einiges in Pascal hinbekommen habe.
    Ich habe auch schon die sufu benutzt aber daraus bin ich net wirklich schlau geworden, weil es da immer nur um variabeln ging und nicht wirklich um subs....

    mein problem ist:
    ich habe 2 Formen (Form1 & Form 2)

    nun habe ich in form 1 ein(e) sub:
    Code :
    1
    2
    3
    
     Public Sub setID(ByVal id As Integer)
             'do something with id and with a Listview
            End Sub
    so wenn ich diese sub aus form 1 aufrufe funktioniert diese wunderbar.

    wie aber muss ich diese sub deklarieren, damit ich diese auch in form 2 verwenden kann?
    einfache variablen übertragen will ich net, ich möchte eben nur gerne diese sub ausführen.

    das ganze in eine weitere klasse auszulagern würde auch nicht viel bringen, da ich mit dieser sub etwas in einer listview ändere, da denke ich ist es besser das so zu lösen als über eine klasse...

    danke hibbert
     

  2. #2
    Avatar von Alex F.
    Alex F. Alex F. ist offline Mitglied Smaragd
    Registriert seit
    Jul 2004
    Beiträge
    1.034
    normalerweise Public in einem Modul da Vb das aber nicht so streng sieht kannst du auch mit Form1.setid drauf zugreifen

    Grüsse bb
     

  3. #3
    hibbert hibbert ist offline Mitglied Bronze
    Registriert seit
    Sep 2003
    Beiträge
    44
    hi,
    ja genau so möchte ich das auch gerne haben ABER... ich hab es nicht so

    wenn ich im quelltexteditor meine befehle eingebe und einen punkt mache, bekomme ich meist eine auswahl an verfügbaren attributen und methoden.

    da geb ich dann ein form. und warte bis mir di elsite angezeigt wird... dort taucht aber die sub aus der form1 nicht auf....

    ich versteh nicht warum, ich habe die sub in form 1 als public sub deklariert... muss ich vllt noch was anderes beachten?

    hibbert
     

  4. #4
    ronaldh ronaldh ist offline Mitglied Brillant
    Registriert seit
    Apr 2007
    Ort
    Hannover
    Beiträge
    912
    Hallo,

    wie bb schon schrieb wird dies normalerweise über ein Modul gemacht.

    Das ist in der Regel wirklich bessere Programmierung, eine Form sollte besser nur private Funktionen und Subs beinhalten.

    Warum fügst Du nicht ein Modul ein, in dem Du Deine Public-Subs unterbringst? Dann klappt es in jedem Fall.

    Grüsse
    ronaldh
     

  5. #5
    hibbert hibbert ist offline Mitglied Bronze
    Registriert seit
    Sep 2003
    Beiträge
    44
    Zitat Zitat von ronaldh Beitrag anzeigen
    Warum fügst Du nicht ein Modul ein, in dem Du Deine Public-Subs unterbringst?
    das klinkt spannend =)

    hast du vllt ein beispiel oder ein link zu einem guten und einfachen beispiel parat?
    hibbert
     

  6. #6
    ronaldh ronaldh ist offline Mitglied Brillant
    Registriert seit
    Apr 2007
    Ort
    Hannover
    Beiträge
    912
    Hallo,

    wie, Codebeispiel? Du hast doch schon (fast) alles!

    Du gehst einfach auf Projekt/Modul hinzufügen. Dann sagst Du "Neu", und es wird ein Modul "Module1" erzeugt.

    Hier schreibst Du die Sub hinein.

    Insbesondere wenn Du Variable als Public dimensionieren willst, geht dies eh nur auf Modulebene.

    Viele Grüsse
    ronaldh
     

  7. #7
    hibbert hibbert ist offline Mitglied Bronze
    Registriert seit
    Sep 2003
    Beiträge
    44
    hmm ok, aber letztendlich hilft es mir nicht wirklich dabei meine listview zu updaten, oder?

    naja ich könnte die listview über das modul updaten, sprich da die procedure zum ändern der listview reinkloppen.

    aber wie kann ich aus dem modul auf die formen zugreifen, also in diesem fall auf die form1.listview1?

    thanks so far
    hibbert
     

  8. #8
    ronaldh ronaldh ist offline Mitglied Brillant
    Registriert seit
    Apr 2007
    Ort
    Hannover
    Beiträge
    912
    Du weißt doch schon alles...

    Genau wie Du geschrieben hast, mit "Form1.Listview1..."!

    Grüsse
    ronaldh
     

  9. #9
    hibbert hibbert ist offline Mitglied Bronze
    Registriert seit
    Sep 2003
    Beiträge
    44
    Zitat Zitat von ronaldh Beitrag anzeigen
    Genau wie Du geschrieben hast, mit "Form1.Listview1..."!
    ja das geht ja nun gerade nicht, oder glaubst du ich hätte das nicht schon versucht
    sonst würde ich doch wohl net nachfragen....

    Code :
    1
    2
    3
    4
    5
    6
    
    Module Module1
        Private Sub changeListview()
            form1.
        End Sub
     
    End Module
    und da steht listview 1 nicht zur auswahl...

    hibbert
     

  10. #10
    ronaldh ronaldh ist offline Mitglied Brillant
    Registriert seit
    Apr 2007
    Ort
    Hannover
    Beiträge
    912
    Du musst zunächst die Sub als Public definieren, nicht Private, da diese Sub ja sicherlich aus einem Ereignis in einer der Formen heraus ausgelöst werden soll.

    Grundsätzlich: Mit welchem VB arbeitest Du denn eigentlich (meine Aussagen bezogen sich hier zunächst auf VB6)?

    Denn eine Definition "End Module" ist mir noch nicht untergekommen. Wie hast Du das Modul denn angelegt?

    Grüsse
    ronaldh
     

Ähnliche Themen

  1. Reproduzierung von Formen
    Von flo_w im Forum Cinema 4D
    Antworten: 0
    Letzter Beitrag: 31.10.07, 15:28
  2. Buchstaben formen!
    Von Technicus im Forum 3D Studio Max
    Antworten: 1
    Letzter Beitrag: 29.08.05, 22:09
  3. Suche Formen
    Von DivDax im Forum Photoshop
    Antworten: 4
    Letzter Beitrag: 29.08.04, 23:41
  4. 3D Formen
    Von DooMi im Forum 3D Studio Max
    Antworten: 9
    Letzter Beitrag: 27.06.01, 09:08
  5. Formen...
    Von Sovok im Forum Photoshop
    Antworten: 7
    Letzter Beitrag: 27.05.01, 00:46