Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Compilermeldungen (https://www.delphipraxis.net/164855-compilermeldungen.html)

jnaumann50 2. Dez 2011 13:45

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

CarlAshnikov 2. Dez 2011 13:55

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:

//implementation
lieber nicht auskommentiert werden sollte.

jnaumann50 2. Dez 2011 14:25

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

Bernhard Geyer 2. Dez 2011 15:13

AW: Compilermeldungen
 
Zitat:

Zitat von jnaumann50 (Beitrag 1138967)
Hier der Quelltextauszug klarer;

Solange du deinen Quelltext nicht mit den dafür vorgesehenen Tags formatierst ist er nicht klarer.

jnaumann50 2. Dez 2011 16:42

AW: Compilermeldungen
 
Bitte kannst Du mir mal ein Beispiel geben - Leider habe ich keine Auhneung was Du meinst
Sorry

Jürgen

Sir Rufo 2. Dez 2011 16:51

AW: Compilermeldungen
 
statt:
procedure TotalBloedAussehenderQuellText;
begin
ShowMessage('DasKannDochKeinSchweinLesen');
end;

sollst du
Delphi-Quellcode:
procedure TotalSchoenAussehenderQuellText;
begin
  ShowMessage('Geht doch');
end;
Weil man sonst davon Augenkrebs bekommt.

Und so einfach ist das gemacht:
Code:
[DELPHI]
procedure TotalSchoenAussehenderQuellText;
begin
  ShowMessage('Geht doch');
end;
[/DELPHI]

jnaumann50 2. Dez 2011 17:01

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;

Sir Rufo 2. Dez 2011 17:03

AW: Compilermeldungen
 
Ich gebs auf ... :roll:

Bummi 2. Dez 2011 17:04

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

Stevie 2. Dez 2011 17:05

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.
Seite 1 von 2  1 2      

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