AGB  ·  Datenschutz  ·  Impressum  







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

Komisches Verhalten des Fensters

Ein Thema von dominikkv · begonnen am 13. Aug 2007 · letzter Beitrag vom 13. Aug 2007
Antwort Antwort
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#1

Komisches Verhalten des Fensters

  Alt 13. Aug 2007, 19:27
Hi

ich habe folgende Deklaration:
Delphi-Quellcode:
type
  TfSoFi = class(TForm, IDropSource)
    SuchEdit: TEdit;
    GroupBox1: TGroupBox;
    edTitelSuch: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    edInterpretSuch: TEdit;
    Label3: TLabel;
    edAlbumSuch: TEdit;
    Label4: TLabel;
    Label5: TLabel;
    edGenreSuch: TEdit;
    ImageList1: TImageList;
    GroupBox2: TGroupBox;
    Label8: TLabel;
    Label9: TLabel;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    DBLaden: TMenuItem;
    DBSpeichern: TMenuItem;
    Schliessen: TMenuItem;
    Hinzufgen1: TMenuItem;
    AusOrdner: TMenuItem;
    AusDB: TMenuItem;
    Hilfe1: TMenuItem;
    Hilfe: TMenuItem;
    Ueber: TMenuItem;
    GroupBox4: TGroupBox;
    rbWinamp: TRadioButton;
    rbMediaPlayer: TRadioButton;
    GroupBox5: TGroupBox;
    rbAbspielen: TRadioButton;
    rbListe: TRadioButton;
    rbStandart: TRadioButton;
    rbSonstiger: TRadioButton;
    Edit1: TEdit;
    Button3: TButton;
    OpenDialog1: TOpenDialog;
    DBUeberpruefen: TMenuItem;
    OpenDialog2: TOpenDialog;
    GroupBox6: TGroupBox;
    Infos: TMemo;
    WebBrowser1: TWebBrowser;
    Image1: TImage;
    rbIntern: TRadioButton;
    StatusBar1: TStatusBar;
    frPlayer1: TfrPlayer;
    frGeordnet1: TfrGeordnet;
    Optionen: TMenuItem;
    pcPlayerControl: TPageControl;
    tsPlayer: TTabSheet;
    tsRadio: TTabSheet;
    frRadio1: TfrRadio;
    imli: TImageList;
    Updates: TMenuItem;
    SearchEx: TButton;
    procedure Button1Click(Sender: TObject);
    procedure SuchEditChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
    procedure DBLadenClick(Sender: TObject);
    procedure DBSpeichernClick(Sender: TObject);
    procedure SchliessenClick(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure DBUeberpruefenClick(Sender: TObject);
    procedure AusDBClick(Sender: TObject);
    procedure UeberClick(Sender: TObject);
    procedure SuchEditKeyPress(Sender: TObject; var Key: Char);
    procedure FormDestroy(Sender: TObject);
    procedure WebBrowser1DocumentComplete(ASender: TObject;
      const pDisp: IDispatch; var URL: OleVariant);
    procedure AusOrdnerClick(Sender: TObject);
    procedure OptionenClick(Sender: TObject);
    procedure SearchExClick(Sender: TObject);
    procedure UpdatesClick(Sender: TObject);
    function QueryContinueDrag(fEscapePressed: BOOL;
      grfKeyState: Longint): HResult; stdcall;
    function GiveFeedback(dwEffect: Longint): HResult; stdcall;
    procedure GetWords(s: string; woerter: TStrings);
    function such(Txt, Pattern: string): boolean;
  private
    const
      Delimiters = [#1..#47, #58..#64, #91..#96, #123..#191, #215, #216, #247, #248];
      Delimiters_0 = [#0] + Delimiters;
    var
      FDragStartPos: TPoint;
      FInter,
      FAlb,
      FDarfListen: Boolean;
      FZeitBenötigt: Cardinal;
    procedure AppException(Sender: TObject; E: Exception);
    procedure WndProcAddFile(var Msg: TMessage);
    procedure WMDROPFILES(var Msg: TMessage);
    procedure LBWindowProc(var Message: TMessage);
    procedure BeendenPrc(Var msg: TMessage); message WM_USER + 458;
    procedure LoadImages;
  protected
    procedure WndProc(var Msg: TMessage); override;
  public
    property ZeitBenötigt: Cardinal read FZeitBenötigt write FZeitBenötigt;
  end;
Jetzt fügt er immer wenn ich eine neue Komponente auf die Form ziehe oder wenn ich eine Ereignisroutine im OI erstelle die Deklarationen im Public-Teil der Form ein, und nicht direkt unter dem Namen:
Delphi-Quellcode:
type
  TfSoFi = class(TForm, IDropSource)
    // hier sollte die Deklaration erscheinen
  private

  public
    // hier wird deklariert ...
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  end;
Außerdem geht das automatische vervollständigen der Klasse (Umsch+Strg+C) nicht.
Es kommt die Fehlermeldung:
Zitat:
---------------------------
Fehler
---------------------------
END erwartet, aber ']' gefunden in Klasse TfSoFi.
---------------------------
OK Details >>
---------------------------
und die Zeile
Delimiters = [#1..#47, #58..#64, #91..#96, #123..#191, #215, #216, #247, #248]; wird gleichzeitig als fehlerhaft angezeig.

Kompilieren lässt sich das Projekt aber ohne Probleme.
Dieses Problem tritt auch nur bei dieser Klasse auf... alle Forms in dem Projekt verhalten sich normal.

Hat jemand eine Idee woran das liegt?
mfg.Dominik
Dominik
  Mit Zitat antworten Zitat
Benutzerbild von uligerhardt
uligerhardt

Registriert seit: 19. Aug 2004
Ort: Hof/Saale
1.746 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Komisches Verhalten des Fensters

  Alt 13. Aug 2007, 19:42
Die IDE benutzt für viele Zwecke einen anderen Parser als der Compiler, und zwar einen weniger perfekten. Deshalb klappen Sachen wie Klassenvervollständigung etc. nicht, wenn du esoterische oder - wie in deinem Fall - neumodische Konstrukte verwendest. Ich hab's mittlerweile aufgegeben, in solchen Fällen mit der IDE zu streiten und weiche halt auf Syntax auf, die der Parser verdauen kann. An deiner Stelle würde ich die Deklaration der beiden Delimiter-Sets in den implementation-Teil der Unit verlegen, dann müsste eigentlich alle Probleme verschwinden.

HTH,
Uli.
Uli Gerhardt
  Mit Zitat antworten Zitat
dominikkv

Registriert seit: 30. Sep 2006
Ort: Gundelfingen
1.109 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Komisches Verhalten des Fensters

  Alt 13. Aug 2007, 20:00
toll... das funktioniert ja sogar...
danke uligerhardt für deine hilfe
Dominik
  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 10:56 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