Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi menu nachträglich editieren (https://www.delphipraxis.net/135053-menu-nachtraeglich-editieren.html)

Maltimore 3. Jun 2009 22:41


menu nachträglich editieren
 
Oah freunde,

mich regts grad wieder richig auf.. Ich hab mir ein Menü erstellt, und mit dem MenüDesigner da 2 Subitems gemacht, die Subitem1Clicks mit text gefüllt und alles war ganz wunderbar. dann hab ich das projekt sehr weit weiterentwickelt und merkte, hoch, ich will eigentlich noch mehr subitems bzw. ne ganze neue spalte in dem menü. geh also in den menüdesigner, stell das ein, klappt super, mach dann auf das subitem doppelclick damit ich dann da reinschreiben kann was passieren soll wenn man beim programm da draufclickt. und was meldet er mir? Der Quelltext konnte nicht gefunden werden, um die Methode Hilfe1Click hinzuzufügen. "END." oder INITIALIZATION wurde im Quelltext der unit nicht gefunden.
War ich ja schon auf 180. Aber dann dacht ich mir ok das geht nicht, aber bei den alten subitems wird das ja noch funktionieren. Geht aber auch nicht mehr wenn man da doppelclick drauf macht. es kommt aber ne andere fehlermeldung: Implementation der Methode Einstellungen1Click konnte nicht gefunden werden.

HÄ? ich kapier das nicht hat doch vorher alles super geklappt, ich mach doch alles genau wie früher..
Achja eine Sache die für euch noch wichtig sein könnte: Als ich das menü gemacht habe, hatte das Projekt nur eine Form. jetzt als ich die neuen subitems machen wollte hab ich 2 Formen. Vielleicht hat es damit was zu tun?

Danke für eure Ideen,

maltimore

jaenicke 3. Jun 2009 22:51

Re: menu nachträglich editieren
 
Normalerweise passiert das nur, wenn Syntaxfehler im Projekt existieren. Kompiliere einmal das Projekt und schau, ob dabei Fehler auftreten.

quendolineDD 3. Jun 2009 22:52

Re: menu nachträglich editieren
 
Zitat:

Kompiliere einmal das Projekt und schau, ob dabei Fehler auftreten.
Wenn du diese nicht beheben kannst ( :!: ) poste diese einfach hier. Eventuell mitsamt des Quelltextes.

Maltimore 3. Jun 2009 23:07

Re: menu nachträglich editieren
 
nein, gar nichts. es funktioniert alles super. darüber bin ich jetzt fast traurig ^^
Sogar die Knöpfe in meinem Menü funktionieren einwandfrei :(

Sagen denn die Fehlermeldungen auch keinem was? Also wie gesagt ich bin immer noch der Meinung es könnte an dem hinzugekommenen Formular liegen, dass ihm jezt nicht ganz klar ist, wo er die ganzen sachen hinschreiben soll..

Mfg,

Maltimore

jaenicke 3. Jun 2009 23:10

Re: menu nachträglich editieren
 
Das ist ja in einer anderen Unit, deshalb hat das damit nichts zu tun. Ich weiß nicht was da noch das Problem sein könnte, das kannte ich nur bei Syntaxfehlern.

fkerber 3. Jun 2009 23:13

Re: menu nachträglich editieren
 
Hi!

Häng das Projekt am besten mal komplett hier an.
Dann können andere mal schauen, ob der Fehler bei ihnen reproduzierbar ist.


Ciao, Frederic

quendolineDD 3. Jun 2009 23:20

Re: menu nachträglich editieren
 
Zitat:

nein, gar nichts. es funktioniert alles super. darüber bin ich jetzt fast traurig ^^
Hast du etwas geändert, dass es jetzt funktioniert?

nat 4. Jun 2009 00:42

Re: menu nachträglich editieren
 
ich kenne dieses verhalten eigentlich nur, wenn man irgendwo im source unvollständigen oder falschen code hat.
z.B. wenn man mitten beim tippen aufgehört hat (weil man z.B. ma eben schnell im OI was ändert wollte) so wie
Delphi-Quellcode:
if Memo1. //hier war man am tippen
... //ab hier gehts normal mit code weiter
aber wenn sich dein projekt kompilieren lässt kanns daran ja eigentlich nicht liegen.

Maltimore 4. Jun 2009 18:34

Re: menu nachträglich editieren
 
ok.. ich weiß ja nicht aber wenn ihr das ganze projekt wollt, poste ich es einfach mal.. sooo lang ist es ja nicht mal. den quelltext für unit 2 häng ich auch mal dran:


unit 1:


Delphi-Quellcode:

  public
    { Public-Deklarationen }
  nickname, port, ip, channel, standardnick: string
  end;

hoffe ihr könnt mir helfen, achja, das problem besteht übrigens (ist mir jetzt auch erst aufgefallen) NICHT NUR bei dem main menü sondern generell bei allen komponenten wo ich z.B. mit dem Objektinspektor per doppelclick auf das Ereignis die procedure herstellen will. Wahrscheinlich hat es also mit dem Main Menu gar nichts zu tun, da hab ich es nur als erstes gemerkt.

Mfg,

Maltimore


EDIT: Da mir geholfen wurde hab ich den für dieses Problem unwichtigen Code rausgenommen, außerdem war mir nicht ganz wohl bei der Sache, da es sihc um einen Chat handelt und ich sensible Daten (Port etc.) veröffentlicht habe.

nat 4. Jun 2009 18:40

Re: menu nachträglich editieren
 
Delphi-Quellcode:
  public
    { Public-Deklarationen } 
  nickname, port, ip, channel, standardnick: string
  end;
hinter string fehlt ein ;

Maltimore 4. Jun 2009 18:45

Re: menu nachträglich editieren
 
OH MEIN GOTT!!!! DAS WARS!!! ich danke dir so sehr, das kann man mit worten gar nicht ausdrücken!!

Oah ich hatte schon die schlimmsten Befürchtunge.

Aber womit ich nicht klar komme: Wie hast du das gefunden? Hast du es durch so ein Parser-Programm gejagt oder hast du es einfach mal eben mit nem Adlerauge gesehen? Ich mein in so nem riesen Text son fehlendes Semikolon zu entdecken!! WOW!

Naja mein Delphi hats mir nicht angezeigt. Dankeschön nochmal! Wie markier ich die Frage jetzt als beantwortet?

Mfg,

maltimore

nat 4. Jun 2009 18:57

Re: menu nachträglich editieren
 
anhand deiner fehlermeldung wußte ich, dass der fehler sicher dort irgendwo
zu suchen is und habs ma überflogen. war dann ja auch recht einfach zu finden.
mußt halt drauf achten, dass die deklarationen immer korrekt sind!

Mysticus 16. Jun 2009 18:28

Re: menu nachträglich editieren
 
Der erwähnte Fehler ("Der Quelltext konnte nicht gefunden werden, um die Methode ... hinzuzufügen. "END." oder "INITIALIZATION" wurde im Quelltext der Unit nicht gefunden") kommt bei Delphi 2009 regelmäßig dann vor, wenn eine Klassenmembervariable eine record-Definition enthält (was eigentlich zulässig ist und vom Compiler auch akzeptiert wird):

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
  private
    { Private-Deklarationen }
    m_Test: record
      TestVar: Integer;
    end;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation
{$R *.dfm}

end.
Wenn man nun z. B. eine ButtonClick-Methode schreiben will, kommt die genannte Fehlermeldung. Dies scheint ein Bug in Delphi 2009 zu sein.

Wenn der Record außerhalb (vor) der Klasse definiert wird, klappts:

Delphi-Quellcode:
type
  TTest = record
    TestVar: Integer;
  end;

  TForm1 = class(TForm)
    Button1: TButton;
  private
    { Private-Deklarationen }
    m_Test: TTest;
  public
    { Public-Deklarationen }
  end;
Hat mich schon ein paar mal aufs Kreuz gelegt (auch heute schon), so dass ich es hier der Vollständigkeit halber erwähne.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 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