AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi E2555 Symbol '...' kann nicht erfasst werden
Thema durchsuchen
Ansicht
Themen-Optionen

E2555 Symbol '...' kann nicht erfasst werden

Ein Thema von t2000 · begonnen am 3. Okt 2025 · letzter Beitrag vom 3. Okt 2025
Antwort Antwort
Benutzerbild von t2000
t2000

Registriert seit: 15. Dez 2005
Ort: NRW
257 Beiträge
 
Delphi 12 Athens
 
#1

E2555 Symbol '...' kann nicht erfasst werden

  Alt Gestern, 08:09
Delphi-Version: 12 Athens
Hi,

in der unten stehenden Funktion bekomme ich den Fehler (in der IDE) E2555 Symbol 'DeleteSuccess' kann nicht erfasst werden.

Kompilieren kann ich. Es wird aber beim kompilieren der TMS WebCore Compiler Aufruf gemacht. Also ist in der IDE Win32 definiert und beim komilieren nicht mehr. (Stattdessen PAS2JS)

Ich könnte das ignorieren, möchte aber die Fehlermeldungen aus der IDE eliminieren.

Ob die DeleteSuccess Routine, wie im Code sichtbar, innerhalb oder außerhalb von DoDelete steht, spielt für den Fehler keine Rolle.

Delphi-Quellcode:
procedure TMyForm.EineFunktion;

// procedure DeleteSuccess( Response: TObject);
// begin
// Log( 'Alles klar.');
// end;

  procedure DoDelete( Para: TObject);

    procedure DeleteSuccess( Response: TObject);
    begin
      Log( 'Alles klar.');
    end;

  begin
    Funktionsaufruf( {$IFDEF PAS2JS}TMyProc( @{$ENDIF}DeleteSuccess{$IFDEF PAS2JS}){$ENDIF});
  end;

begin
  DoDelete( nil);
end; // <- Fehlerposition
Die Fehlerposition wird am Ende der äußeren Funktion angezeigt.

Jemand ne Idee, was das sein könnte?
Ähnliche Aufrufe stehen sehr viel in meinem Code.
Und an der Benennung liegt es nicht.

VG
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!

Geändert von t2000 (Gestern um 08:16 Uhr) Grund: Tippfehler
  Mit Zitat antworten Zitat
EKON 29
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.150 Beiträge
 
Delphi 12 Athens
 
#2

AW: E2555 Symbol '...' kann nicht erfasst werden

  Alt Gestern, 08:33
Das Problem ist, dass du die Referenz auf die Prozedur als Parameter übergibst, so dass diese gespeichert werden und später verwendet werden könnte. Der Aufruf der ursprünglichen Methode EineFunktion kann dann aber schon beendet sein. Und daher ist der Scope dann auch nicht mehr vorhanden.

Ich weiß nicht, ob das mit TMS WebCore geht, aber die naheliegendste Lösung wäre, eine anonyme Methode zu verwenden. Dann wird der Scope dort mit gespeichert, so dass das Problem nicht mehr besteht.

Alternativ kannst du auch eine Methode deines Objekts verwenden, denn auch da wird die Objektreferenz mit übergeben.

Und dann könntest du noch ein Interface verwenden und übergeben, das diese Methode enthält.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von t2000
t2000

Registriert seit: 15. Dez 2005
Ort: NRW
257 Beiträge
 
Delphi 12 Athens
 
#3

AW: E2555 Symbol '...' kann nicht erfasst werden

  Alt Gestern, 09:01
Jau, das war's.

Delphi-Quellcode:

procedure TMyForm.EineFunktion;

  procedure DoDelete( Para: TObject);
  begin
    Funktionsaufruf( procedure( Response: TObject)
                     begin
                       Log( 'Alles klar.');
                     end);
  end;

begin
  DoDelete( nil);
end;
So funkltioniert es.

Danke.
Thomas
(Wir suchen eine(n) Entwickler(in) mit Ambitionen später ggf. die Softwarefirma zu leiten)
Aktuell nicht mehr. Aber ab vielleicht 2024/2025 wird das wieder sehr interessant!

Geändert von t2000 (Gestern um 09:02 Uhr) Grund: Tippfehler
  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 04:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz