Module und ihre Transparenz
Übersicht

![]() |
TrustBetreff: Module und ihre Transparenz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
ist es irgendwie möglich, einen Typenbezeichner für den Nutzer des Moduls sichtbar zu machen, ohne das die ganzen Membervariablen des Types ebenfalls sichtbar sind? BlitzMax: [AUSKLAPPEN]
|
||
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen. |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, leider ist das nicht möglich. Wurde schon vor zig Jahren bei Mark angeprangert und nie umgesetzt.
Was du allerdings machen kannst: BlitzMax: [AUSKLAPPEN]
Dann ist TFoo sichtbar, aber TPrivateFoo nicht. Solange du alle privaten Variablen in TPrivateFoo sammelst sollte das auch funktionieren. |
||
![]() |
Trust |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja so habe ich es jetzt auch versucht gehabt.
Nur kommt bei mir dann ein compilererror, dass "TPrivateFoo" nicht gefunden wurde. Wenn ich den reinen Source des Modules teste via Include, dann funktioniert alles. Das kompilieren des Moduls funktioniert auch. Aber sobald ich dann das fertige Modul via Import in einen Testcode einbinden möchte und diesen Testcode dann zu Compilieren versuche, kommt die Fehlermeldung, dass mTPrivateFoo bzw. "mTEntity" nicht gefunden wurde. Am Testcode kann es nicht liegen da dieser minimalistisch ist: BlitzMax: [AUSKLAPPEN] SuperStrict Hier der log: Code: [AUSKLAPPEN] Building untitled1
Compiling:untitled1.bmx Compile Error: Type 'mTEntity' not found [C:/BlitzMax/mod/mf.mod/simplerts.mod/simplerts.debug.win32.x86.i;52;1] Build Error: failed to compile C:/BlitzMax/tmp/untitled1.bmx Process complete |
||
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen. |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Komisch, bei mir hats funktioniert!
Hast du evtl. irgendwo ein Public vergessen? Es reicht nicht vor TPrivateFoo ein Private zu setzen, du musst es auch wieder mit Public aufheben! |
||
![]() |
Trust |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja habe ich.
Also ich habe alles in TPrivateFoo "reingepackt" was Private sein soll, Methoden und Field-Variablen. Dann habe ich TFoo von TPrivateFoo abgeleitet, und in dieser ist ausschließlich nur die Create-Function um eine Instanz von TFoo zu erstellen. Vor TFoo steht Public und vor TPrivateFoo steht Private. BlitzMax: [AUSKLAPPEN] Private |
||
Es gibt 10 Gruppen von Menschen: diejenigen, die das Binärsystem verstehen, und die anderen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group