AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[Fehler] edit.pas(91): E2356

Ein Thema von thklingler · begonnen am 20. Jan 2005 · letzter Beitrag vom 21. Jan 2005
Antwort Antwort
thklingler

Registriert seit: 1. Jan 2003
Ort: Bad Wurzach
47 Beiträge
 
Delphi 2006 Enterprise
 
#1

[Fehler] edit.pas(91): E2356

  Alt 20. Jan 2005, 19:36
Hallo, ich wollte meine in Delphi 6 geschrieben Komponenten auf Delphi 2005 installieren. das klappt aber nicht da ich immer folgen Fehler erhalte.

[Fehler] edit.pas(91): E2356 Für Eigenschaftszugriff muss ein Instanzenfeld oder eine Instanzenmethode verwendet werden.

Was muss ich ändern das es funzt ?
Thomas Klingler
www.setupprofis.de
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: [Fehler] edit.pas(91): E2356

  Alt 20. Jan 2005, 19:40
Meine Glaskugel enthält leider nichts, das mir deinen Code anzeigen würde

Aber nach der Fehlermeldung zu schließen, solltest du für den Zugriff auf deine Eigenschaft ein Objekt oder eine Klassenmethode verwenden.. Was die Meldung eben sagt
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#3

Re: [Fehler] edit.pas(91): E2356

  Alt 20. Jan 2005, 20:16
Hi,

poste am besten mal die betreffene Zeile.

Ich hatte diese Fehlermeldung, als ich eine virtuell-abstrakte Klassenmethode als Getter für eine Property in D2005 verwenden wollte (was aber in D7 noch ging / geht).

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
thklingler

Registriert seit: 1. Jan 2003
Ort: Bad Wurzach
47 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: [Fehler] edit.pas(91): E2356

  Alt 21. Jan 2005, 07:34
Hallo, der code sieht wie folgt aus:

Delphi-Quellcode:
procedure DeadInt(Value: integer);

public
    class function GetId: integer; virtual;

published
    property Id : integer read GetId write DeadInt;
bei compilieren kommt dann der Fehler:
[Fehler] edit.pas(91): E2356 Für Eigenschaftszugriff muss ein Instanzenfeld oder eine Instanzenmethode verwendet werden
Thomas Klingler
www.setupprofis.de
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#5

Re: [Fehler] edit.pas(91): E2356

  Alt 21. Jan 2005, 08:03
Hallo thklingler,

der Code benutzt die Methode GetId, die als Klassenmethode definiert ist. Die Fehlermeldung behauptet, es müsse eine Instanzmethode sein. Versuche einmal das class vor der function zu löschen.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
thklingler

Registriert seit: 1. Jan 2003
Ort: Bad Wurzach
47 Beiträge
 
Delphi 2006 Enterprise
 
#6

Re: [Fehler] edit.pas(91): E2356

  Alt 21. Jan 2005, 09:04
Hallo, das habe ich schon probiert, dann muß ich die ganze Komponete um schreiben da ich die ganzen funktionen als Klassemethoden verwende. Es erscheint dann der Fehler
[Fehler] edit.pas(353): E2076 Diese Form des Methodenaufrufs ist nur für Klassenmethoden erlaubt.
Thomas Klingler
www.setupprofis.de
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#7

Re: [Fehler] edit.pas(91): E2356

  Alt 21. Jan 2005, 10:06
ich versteh nicht ganz wozu du dann überhaupt ein Object nimmst wenn das dann alles Klassenmethoden sind, da kannst du doch auch gleich das als normale Funktionen declarieren.

Eine alternative damit du nicht alles umschreiben musst. Erstelle eine weitere Komponente wo alles nur Methoden der Klasse sind. Und in der Methode rufst du dann einfach die Klassenmethode des anderen Objectes auf.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#8

Re: [Fehler] edit.pas(91): E2356

  Alt 21. Jan 2005, 15:36
Hi,

wie ich das sehe ist das exakt das Problem, das ich auch habe (siehe: http://www.delphipraxis.net/internal...ct.php?t=42797).

Mich würde zugerne interessieren warum Borland das seinfach so geändert hat und ob sie es rückgängig machen könnten...

mfG
mirage228
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: [Fehler] edit.pas(91): E2356

  Alt 21. Jan 2005, 15:47
Ein Workaround sollte doch recht einfach sein:

Delphi-Quellcode:
procedure DeadInt(Value: integer);

public
    class function CGetId: integer; virtual;
    function GetId: integer; virtual;

published
    property Id : integer read GetId write DeadInt;

//...

function Getid: integer;
begin
  Result := CGetId; //oder alternativ <Klassenname>.CGetId
end;
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:15 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz