| Autor |
Nachricht |
akari
Moderator
Benutzerprofil
Anmeldungsdatum: 27.11.2004
Beiträge: 11253
|
akari Moderator
12:47:24 27.08.2010 Titel: |
|
Zitieren |
Hallo
Dieser Quellcode
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 | 1 2 3 4 5 6 7 8 9 10 11 12 13 | class TMyClass
{
public:
String GetMyString() {return MyString;}; // Getter-Methode
// void SetMyString(UnicodeString x) {MyString = x;}; // Setter-Methode, hier nicht verfügbar
private :
String MyString;
};
...
TMyClass *MyClass = new TMyClass();
// MyClass->MyString = "Hallo Welt"; // geht natürlich nicht
String x = MyClass->GetMyString();
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 | class TMyClass
{
public:
String GetMyString() {return MyString;}; // Getter-Methode
// void SetMyString(UnicodeString x) {MyString = x;}; // Setter-Methode, hier nicht verfügbar
private :
String MyString;
};
...
TMyClass *MyClass = new TMyClass();
// MyClass->MyString = "Hallo Welt"; // geht natürlich nicht
String x = MyClass->GetMyString();
| |
| C/C++ Code: | 1 2 3 4 5 6 7 8 9 10 11 12 13 | class TMyClass
{
public:
String GetMyString() {return MyString;}; // Getter-Methode
// void SetMyString(UnicodeString x) {MyString = x;}; // Setter-Methode, hier nicht verfügbar
private :
String MyString;
};
...
TMyClass *MyClass = new TMyClass();
// MyClass->MyString = "Hallo Welt"; // geht natürlich nicht
String x = MyClass->GetMyString();
| |
kompiliert ohne weitere Änderung auf meinem BCB5 ohne Fehler. Du hast etwas bei der Übernahme des Quellcodes falsch gemacht.
bis bald
akari |
_________________ In der nächsten Version wird alles besser!
Zuletzt bearbeitet von akari am 12:49:11 27.08.2010, insgesamt 1-mal bearbeitet |
|
 |
Heimelchen
Mitglied
Benutzerprofil
Anmeldungsdatum: 22.06.2010
Beiträge: 325
|
Heimelchen Mitglied
08:45:39 31.08.2010 Titel: |
|
Zitieren |
| akari schrieb: | | C/C++ Code: | | String x = MyClass->GetMyString(); | |
| C/C++ Code: | | String x = MyClass->GetMyString(); | |
| C/C++ Code: | | String x = MyClass->GetMyString(); | |
|
Ne, du hast bei der Übernahme was falsch gemacht.
Gewollt ist:
| C/C++ Code: | | String x = MyClass->MyString(); | |
| C/C++ Code: | | String x = MyClass->MyString(); | |
| C/C++ Code: | | String x = MyClass->MyString(); | |
|
|
|
|
 |
akari
Moderator
Benutzerprofil
Anmeldungsdatum: 27.11.2004
Beiträge: 11253
|
akari Moderator
08:48:27 31.08.2010 Titel: |
|
Zitieren |
Hallo
Du kannst deine Methode nennen wie du willst. Nur die Methode und die Membervariable dürfen nicht gleich heißen. In meinem Beispiel ist GetMyString() also völlig korrekt.
bis bald
akari |
_________________ In der nächsten Version wird alles besser!
Zuletzt bearbeitet von akari am 08:48:51 31.08.2010, insgesamt 1-mal bearbeitet |
|
 |
Heimelchen
Mitglied
Benutzerprofil
Anmeldungsdatum: 22.06.2010
Beiträge: 325
|
Heimelchen Mitglied
09:12:23 02.09.2010 Titel: |
|
Zitieren |
Aber wenn ich auf TComponent::Components zugreifen will, verwende ich ja auch TComponent::Components und nicht TComponent::GetComponents(). Ein signifikanter Unterschied läge darin, dass hinter dem einen Klammern stehen, hinter dem andern nicht. Abgesehen vom Namen natürlich...
PS: Bei mir hat sich auch nen Fehler eingeschlichen: gewollt ist:
| C/C++ Code: | | String txt = MyClass->MyString;
| |
| C/C++ Code: | | String txt = MyClass->MyString;
| |
| C/C++ Code: | | String txt = MyClass->MyString;
| |
|
Zuletzt bearbeitet von Heimelchen am 09:14:07 02.09.2010, insgesamt 1-mal bearbeitet |
|
 |
akari
Moderator
Benutzerprofil
Anmeldungsdatum: 27.11.2004
Beiträge: 11253
|
akari Moderator
09:16:34 02.09.2010 Titel: |
|
Zitieren |
Hallo
Ich sehe immer noch nicht dein Problem. TComponent hat eben eine property die Components heißt und vom Typ Array ist. Möglich das es intern auch direkt lesend auf ein Array namens iComponents zugreift. Aber nichts davon widerspricht meinem Beispiel.
bis bald
akari |
_________________ In der nächsten Version wird alles besser!
|
|
 |
Th69
Mitglied
Benutzerprofil
Anmeldungsdatum: 25.03.2008
Beiträge: 2111
|
Th69 Mitglied
10:30:28 02.09.2010 Titel: |
|
Zitieren |
|
 |
Heimelchen
Mitglied
Benutzerprofil
Anmeldungsdatum: 22.06.2010
Beiträge: 325
|
Heimelchen Mitglied
12:07:52 02.09.2010 Titel: |
|
Zitieren |
| Heimelchen schrieb: | | Ich hab nun auch festgestellt, dass die Standard-C++ Syntax unter CodeGear nicht funktioniert. |
Ich hab auch nicht behauptet, dass es mit __property nicht funktioniert... |
|
|
|
 |
akari
Moderator
Benutzerprofil
Anmeldungsdatum: 27.11.2004
Beiträge: 11253
|
akari Moderator
12:57:03 02.09.2010 Titel: |
|
Zitieren |
Hallo
Und welche Frage ist denn nun noch offen?
/Edit : Natürlich funktioniert meine konkrete C++ Version auch nur bei VCL-Einbindung, da ich den Datentyp UnicodeString verwendet habe. Wenn du UnicodeString durch std::string ersetzt brauchst du keine VCL mehr. Aber das sollte doch wohl klar sein?
bis bald
akari |
_________________ In der nächsten Version wird alles besser!
Zuletzt bearbeitet von akari am 13:25:25 02.09.2010, insgesamt 1-mal bearbeitet |
|
 |
Heimelchen
Mitglied
Benutzerprofil
Anmeldungsdatum: 22.06.2010
Beiträge: 325
|
Heimelchen Mitglied
13:38:09 02.09.2010 Titel: |
|
Zitieren |
|
 |