PUBLIC - PRIVATE Gambas - VB

Alle Fragen zur Programmierung, die nicht in die speziellen Themen passen
Antworten
helly
Foriker
Beiträge: 14
Registriert: Do 22. Dez 2005, 16:18
Kontaktdaten:

PUBLIC - PRIVATE Gambas - VB

Beitrag von helly » Fr 30. Dez 2005, 17:42

Hallo,

mir ist aufgefallen daß in meinem Beispiel von neulich (Posting "VB-Code in Gambas"), VB den Code mit PRIVATE SUB startet (auch wenn in meinem Posting bei VB PUBLIC SUB stand):

PRIVATE SUB cmdUmrechnen_Click()
lblIdealgewicht.Text = txtGroesse.Text - 100 & " Kg"
END


Gambas startet aber mit PUBLIC SUB. Ich habe den Code in Gambas versuchsweise auf PRIVATE SUB geändert. Das hat aber nicht funktioniert. Warum?
In der Hilfe unter "Differences from VB" habe ich keine mir schlüssige Erklärung gefunden.

helly

roemi
Site Admin
Beiträge: 425
Registriert: So 11. Dez 2005, 20:05
Wohnort: Hanau / Germany
Kontaktdaten:

Beitrag von roemi » Fr 30. Dez 2005, 19:58

Code: Alles auswählen

PRIVATE SUB cmdUmrechnen()
   lblIdealgewicht.Text = (Val(txtGroesse.Text) - 100) & " Kg"
END

PUBLIC SUB Button1_Click()
   cmdUmrechnen()
END
Das "Public" bedeutet das diese Sub von allen anderen Modulen innerhalb eines Projektes "gesehen" wird und "Private" nicht, ist Dir klar!?

Ich denke ja. Das o.g. funktioniert. Warum ich die "PRIVATE SUB" micht direkt mit dem Button ansprechen kann ... ist mir aber auch ein Rätsel. :wink:
Römi (seit 1989 bekennender Bergradfahrer und professioneller Biertrinker)
http://www.roemi.de

helly
Foriker
Beiträge: 14
Registriert: Do 22. Dez 2005, 16:18
Kontaktdaten:

Beitrag von helly » So 1. Jan 2006, 12:40

Ist das jetzt rein zufällig daß das bei dir auch nicht geht? Denn dieses Problem müsste ja eigentlich schon früher jemandem aufgefallen sein. So zu programmieren ist wohl bestimmt nichts ungwöhnliches,oder? Fragt sich jetzt nur wie ich damit umgehe. Eine Lösung scheint wohl nicht in Sicht zu sein und wenn ich nicht ständig hängenbeiben will wird es wohl besser sein ich deklariere erst mal alles als PUBLIC bis mir irgendwann mal die Erleuchtung kommt.

helly

nibbana
Foriker
Beiträge: 143
Registriert: Fr 16. Dez 2005, 21:32
Kontaktdaten:

Beitrag von nibbana » So 1. Jan 2006, 14:09

helly hat geschrieben: Denn dieses Problem müsste ja eigentlich schon früher jemandem aufgefallen sein.
Da müßte man mal die Frage klären wer es richtig macht. Gambas oder VB? Und was ist überhaupt richtig?

Eine Funktion die als PRIVATE deklariert ist, kann nur von einer anderen Stelle in dieser Klasse aufgerufen werden. Button1_Click() wird aber von außerhalb aufgerufen. Damit ist das Verhalten von Gambas eigentlich logisch.

Gambas ist eben das schlechtere VB und VB das schlechtere Gambas. :)

mfg. nibbana
"Ich denke, also bin ich." (Descartes)

"Ich denke nicht, also was?" (Zen Meister Seung Sahn)

helly
Foriker
Beiträge: 14
Registriert: Do 22. Dez 2005, 16:18
Kontaktdaten:

Beitrag von helly » Mo 2. Jan 2006, 12:53

Eine Funktion die als PRIVATE deklariert ist, kann nur von einer anderen Stelle in dieser Klasse aufgerufen werden.
Danke für die Info. Ich finde es OK wenn es in Gambas etwas anders funktioniert. Das Problem ist halt daß ich ein VB-Buch benutzen muß um Gambas zu lernen. Das macht die Sache durch die Unterschiede mühseliger und ohne fremde Hilfe ist man da leicht aufgeschmissen.

Auf jeden Fall weiß ich jetzt die Lösung zu diesem Problem bzw. daß das so seine Richtigkeit hat und kann beruhigt weiter werkeln.


helly

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste