![]() |
Delphi-Version: 2007
Compilermeldungen
Hallo,
ich erhalte bei einem alten Proket (Delphi3) welches ich nach Delphi2009 umsetzen muss seltsame Comiler-Fehler sieh Quelltextausschnitt
Delphi-Quellcode:
type
Ptr_CPC_MSG = ^CPC_MSG; var MainForm : TMAINForm; professional : byte; // Code für Freischaltung/Berechtigung (1-4) projektOffen : Boolean; // true, falls gerade ein Projekt geöffnet ist MainIniPath : String; MyIni : TIniFile; MyProjectIni : TIniFile; zahl : Integer; FileList : THistoryList; IniPfad : String; PPfad : String; SpeicherPfad : String; CanHandle : Integer; Time : Boolean; MyMsgPtr : CPC_CAN_MSG; MsgHandlePtr : Ptr_CPC_MSG; Adress : Word; AdressHelp : String; Fehler : Integer; KnotenNr : Integer; Format : String; CanAktiv : Boolean; PASSWORT : array [0..4] of string; //Passwörter für das Freischalten auf höhere Berechtigungen //procedure scaleform ( TForm; w,h : boolean); //implementation {$R *.DFM} uses About, ModDelete, EditModul, ParameterAll, newModul, warte, ProtUnit, Folder_Unit, zusammenfassung, Passw, Freischalt, QuellView; // Fehler Deklaration erwartet, aber Uses gefuden {--------------------- erzeugen des Formulares -------------------------------} {-----------------------------------------------------------------------------} PROCEDURE MainMenue1(Sender: TObject); // E2004 Bezeichner redefiniert begin end; end; {============================================================================= CopyFile procedure found in the FMXUTILS.PAS file in Delphi\Demos\Doc\Filmanex This is an example of copying a file using a buffer. =============================================================================} procedure CopyFile(const FileName, DestName: TFileName); var CopyBuffer: Pointer; { buffer for copying } TimeStamp, BytesCopied: Longint; Source, Dest: Integer; { handles } Destination: TFileName; { holder for expanded destination name } const ChunkSize: Longint = 8192; { copy in 8K chunks } begin Destination := ExpandFileName(DestName); { expand the destination path } if HasAttr(Destination, faDirectory) then { if destination is a directory... } Destination := Destination + '\' + ExtractFileName(FileName); { ...clone file name } TimeStamp := FileAge(FileName); { get source's time stamp } GetMem(CopyBuffer, ChunkSize); { allocate the buffer } try Source := FileOpen(FileName, fmShareDenyWrite); { open source file } if Source < 0 then raise EFOpenError.Create(FmtLoadStr(SFOpenError, [FileName])); try // undeklarierter Bezeichner SFOpenError Dest := FileCreate(Destination); { create output file; overwrite existing } if Dest < 0 then raise EFCreateError.Create(FmtLoadStr(SFCreateError, [Destination])); try // undeklarierter Bezeichner SFCreateError repeat BytesCopied := FileRead(Source, CopyBuffer^, ChunkSize); { read chunk } if BytesCopied > 0 then { if we read anything... } FileWrite(Dest, CopyBuffer^, BytesCopied); { ...write chunk } until BytesCopied < ChunkSize; { until we run out of chunks } finally FileClose(Dest); { close the destination file } end; finally FileClose(Source); { close the source file } end; finally FreeMem(CopyBuffer, ChunkSize); { free the buffer } end; end; PROCEDURE TMainForm.FormCreate(Sender: TObject); // E2009 ; erwartet aber . gefunden var pw : file; i, z : integer; laenge : byte; BEGIN (* Variable mit Pfad der Anwendung initialisieren *) MainIniPath := ExtractFilePath(ParamStr(0)); (* Variable mit der AnwendungsDatei initialisieren *) IniPfad := MainForm.MainIniPath + 'MDI-Haupt.ini'; (* Instanz einer IniDatei erzeugen *) MyIni := TIniFile.Create (IniPfad); (* Hilfshinweise aktivieren *) Application.OnHint := ShowHint; (* Instanz einer HistList erzeugen *) FileList := THistoryList.Create ; (* HistList aus IniDatei lesen *) FileList.LoadFromIni (IniPfad,'Files'); // Operator oder Semikolon fehlt (* HistList an Menü anhängen *) FileList.MenuItem := Datei; // Operator oder Semikolon fehlt |
AW: Compilermeldungen
Also ich würde dir zunächst raten, den Code in Delphi Tags zu packen, damit hier jemand was erkennen kann.
Außerdem denke ich, dass Zitat:
|
AW: Compilermeldungen
Hier der Quelltextauszug klarer;
procedure CopyFile(const FileName, DestName: TFileName); var CopyBuffer: Pointer; { buffer for copying } TimeStamp, BytesCopied: Longint; Source, Dest: Integer; { handles } Destination: TFileName; { holder for expanded destination name } const ChunkSize: Longint = 8192; { copy in 8K chunks } begin Destination := ExpandFileName(DestName); { expand the destination path } if HasAttr(Destination, faDirectory) then { if destination is a directory... } Destination := Destination + '\' + ExtractFileName(FileName); { ...clone file name } TimeStamp := FileAge(FileName); { get source's time stamp } GetMem(CopyBuffer, ChunkSize); { allocate the buffer } try Source := FileOpen(FileName, fmShareDenyWrite); { open source file } if Source < 0 then raise EFOpenError.Create(FmtLoadStr(SFOpenError, [FileName])); try Undelarierter Bezeichner> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >^^^^ Dest := FileCreate(Destination); { create output file; overwrite existing } if Dest < 0 then raise EFCreateError.Create(FmtLoadStr(SFCreateError, [Destination])); >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> // undeklarierter Bezeichner SFCreateError try repeat BytesCopied := FileRead(Source, CopyBuffer^, ChunkSize); { read chunk } if BytesCopied > 0 then { if we read anything... } FileWrite(Dest, CopyBuffer^, BytesCopied); { ...write chunk } until BytesCopied < ChunkSize; { until we run out of chunks } finally FileClose(Dest); { close the destination file } end; finally FileClose(Source); { close the source file } end; finally FreeMem(CopyBuffer, ChunkSize); { free the buffer } end; end; PROCEDURE TMainForm.FormCreate(Sender: TObject); // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> E2009 ; erwartet aber . gefunden var pw : file; i, z : integer; laenge : byte; BEGIN (* Variable mit Pfad der Anwendung initialisieren *) MainIniPath := ExtractFilePath(ParamStr(0)); (* Variable mit der AnwendungsDatei initialisieren *) IniPfad := MainForm.MainIniPath + 'MDI-Haupt.ini'; (* Instanz einer IniDatei erzeugen *) MyIni := TIniFile.Create (IniPfad); (* Hilfshinweise aktivieren *) Application.OnHint := ShowHint; (* Instanz einer HistList erzeugen *) FileList := THistoryList.Create ; (* HistList aus IniDatei lesen *) FileList.LoadFromIni (IniPfad,'Files'); // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>Operator oder Semikolon fehlt (* HistList an Menü anhängen *) FileList.MenuItem := Datei; //>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> Operator oder Semikolon fehlt (* CAN geschlossen *) CanAktiv := FALSE; (*** geändert 21.06.05 Stefan Wild ***) (* Projektpfad vorgeben *) MainIniPath := MainIniPath + 'Projekte\'; { Standardpfad für Projektdaten wird nicht mehr mit gespeichert, sondern ist immer der Unterordner Projekte (* aus AnwendungsDatei letzten Projektpfad auslesen *) hilf := MyIni.ReadString ('Projektdaten','pfad','Error'); (* wenn kein Projektpfad vorhanden ist ... *) IF (hilf = '') or (hilf = 'Error') THEN BEGIN (* Projektpfad vorgeben *) MainIniPath := MainIniPath + 'Projekte\'; MyIni.WriteString('Projektdaten','pfad',MainIniPat h); END ELSE BEGIN (* wenn Pfad vorhanden ... *) (* Variable mit ProjektPfad initialisieren *) MainIniPath := hilf; END; } projektOffen := false; (*** eingefügt 22.6.05 Stefan Wild ***) (* Speicherung der Passwörter in verschlüsselter Datei *) professional := 1; if FileExists(ExtractFilePath(Paramstr(0)) + 'iblCM2005.pwl') then begin try AssignFile(pw, ExtractFilePath(Paramstr(0)) + 'iblCM2005.pwl'); Reset(pw, 1); for z := 2 to 4 do begin (* verschlüsseltes Passwort lesen *) BlockRead(pw, laenge, 1); PASSWORT[z] := ' '; SetLength(PASSWORT[z], laenge); for i := 1 to laenge do begin BlockRead(pw, PASSWORT[z][i], 1); end; end; CloseFile(pw); except on Exception do begin try CloseFile(pw); except on Exception do // wenn die Datei nicht offen war, schließen wir sie halt auch nicht end; PasswForm.neuepw; end; // except end; // try end // if fileExists else PasswForm.neuepw; (*** eingefügt 7.7.05 Stefan Wild ***) (* weiter Menüpunkt falls Digitalausgänge getestet werden können *) if FileExists(ExtractFilePath(ParamStr(0)) + '\DigOutTest\Project1.exe') then Digitalout.Visible := true; // else ist es nach Voreinstellung false END; Danke für den Hinweis Jürgen |
AW: Compilermeldungen
Zitat:
|
AW: Compilermeldungen
Bitte kannst Du mir mal ein Beispiel geben - Leider habe ich keine Auhneung was Du meinst
Sorry Jürgen |
AW: Compilermeldungen
statt:
procedure TotalBloedAussehenderQuellText; begin ShowMessage('DasKannDochKeinSchweinLesen'); end; sollst du
Delphi-Quellcode:
Weil man sonst davon Augenkrebs bekommt.
procedure TotalSchoenAussehenderQuellText;
begin ShowMessage('Geht doch'); end; Und so einfach ist das gemacht:
Code:
[DELPHI]
procedure TotalSchoenAussehenderQuellText; begin ShowMessage('Geht doch'); end; [/DELPHI] |
AW: Compilermeldungen
Danke Sir Rufo
Hie die lesbarere Version
Delphi-Quellcode:
procedure CopyFile(const FileName, DestName: TFileName);
var CopyBuffer: Pointer; { buffer for copying } TimeStamp, BytesCopied: Longint; Source, Dest: Integer; { handles } Destination: TFileName; { holder for expanded destination name } const ChunkSize: Longint = 8192; { copy in 8K chunks } begin Destination := ExpandFileName(DestName); { expand the destination path } if HasAttr(Destination, faDirectory) then { if destination is a directory... } Destination := Destination + '\' + ExtractFileName(FileName); { ...clone file name } TimeStamp := FileAge(FileName); { get source's time stamp } GetMem(CopyBuffer, ChunkSize); { allocate the buffer } try Source := FileOpen(FileName, fmShareDenyWrite); { open source file } if Source < 0 then raise EFOpenError.Create(FmtLoadStr(SFOpenError, [FileName])); try // COMPILERFEHLERMELDUNG undeklarierter Bezeichner SFOpenError Dest := FileCreate(Destination); { create output file; overwrite existing } if Dest < 0 then raise EFCreateError.Create(FmtLoadStr(SFCreateError, [Destination])); try // COMPILERFEHLERMELDUNG undeklarierter Bezeichner SFCreateError repeat BytesCopied := FileRead(Source, CopyBuffer^, ChunkSize); { read chunk } if BytesCopied > 0 then { if we read anything... } FileWrite(Dest, CopyBuffer^, BytesCopied); { ...write chunk } until BytesCopied < ChunkSize; { until we run out of chunks } finally FileClose(Dest); { close the destination file } end; finally FileClose(Source); { close the source file } end; finally FreeMem(CopyBuffer, ChunkSize); { free the buffer } end; end; PROCEDURE TMainForm.FormCreate(Sender: TObject); // COMPILERFEHLERMELDUNG E2009 ; erwartet aber . gefunden var pw : file; i, z : integer; laenge : byte; BEGIN (* Variable mit Pfad der Anwendung initialisieren *) MainIniPath := ExtractFilePath(ParamStr(0)); (* Variable mit der AnwendungsDatei initialisieren *) IniPfad := MainForm.MainIniPath + 'MDI-Haupt.ini'; (* Instanz einer IniDatei erzeugen *) MyIni := TIniFile.Create (IniPfad); (* Hilfshinweise aktivieren *) Application.OnHint := ShowHint; (* Instanz einer HistList erzeugen *) FileList := THistoryList.Create ; (* HistList aus IniDatei lesen *) FileList.LoadFromIni (IniPfad,'Files'); // COMPILERFEHLERMELDUNG Operator oder Semikolon fehlt (* HistList an Menü anhängen *) FileList.MenuItem := Datei; // COMPILERFEHLERMELDUNG Operator oder Semikolon fehlt (* CAN geschlossen *) CanAktiv := FALSE; ... some code END; |
AW: Compilermeldungen
Ich gebs auf ... :roll:
|
AW: Compilermeldungen
sieht aus als ob Ihr Auszüge aus der alten FmxUtils.pas noch verwendet, sonst müsste er bei HasAttr schon meckern.
Wenn Du Glück hast fehlt Dir nur RTLConsts in den Uses |
AW: Compilermeldungen
Is scho schwer, Text zu markieren und auf den Helm zu klicken... :twisted:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:59 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