AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Fehler im Delphi-Code ganz am Ende beim Kompilieren
Thema durchsuchen
Ansicht
Themen-Optionen

Fehler im Delphi-Code ganz am Ende beim Kompilieren

Ein Thema von lusthansa · begonnen am 7. Mär 2013 · letzter Beitrag vom 7. Mär 2013
Antwort Antwort
lusthansa

Registriert seit: 7. Mär 2013
9 Beiträge
 
#1

AW: Fehler im Delphi-Code ganz am Ende beim Kompilieren

  Alt 7. Mär 2013, 07:33
Hallo, ich habe mal folgendes getippt:

Delphi-Quellcode:
unit Beispiel2;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Button1: TButton;
    Edit3: TEdit;
    Label3: TLabel;
    procedure EditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Close
end;

procedure TForm1.EditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
var kurs, euro, dollar: Single; // Variablen, mit denen gerechnet wird
s: string; code: Integer; // Hilfsvariablen
begin
// Werte aus Editierfeldern in Variablen einlesen und prüfen:
Val(Form1.Edit1.Text, kurs, code); // Kurs einlesen
if code <> 0 then Exit;
Val(Form1.Edit2.Text, euro, code); // Euro einlesen
if code <> 0 then Exit;
Val(Form1.Edit3.Text, dollar, code); // Dollar einlesen
if code <> 0 then Exit;
// Berechnungen mit den Variablen durchführen:
if Sender = Edit3 then euro := dollar * kurs // dollar wurde eingegeben
else dollar := euro / kurs; // euro oder kurs wurden eingegeben
// Werte der Variablen in den Editierfeldern anzeigen:
if Sender = Edit3 then // dollar geändert
begin
Str(euro:8:2,s); Form1.Edit2.Text := s; // Anzeige von euro (8 Stellen,
// davon 2 Nachkomma)
end else // kurs oder euro geändert
begin
Str(dollar:8:2,s); Form1.Edit3.Text := s; // sonst Anzeige von dollar
end.
end.
Also mit end. end.

Da kommt der Compilerfehler:

Abhängigkeiten des Projekts werden überprüft...
Compilieren von Project1.dproj (Debug, Win32)
dcc Befehlszeile für "Project1.dpr"
c:\program files (x86)\embarcadero\rad studio\10.0\bin\dcc32.exe -$O- -$W+ --no-config -M -Q -TX.exe
-AGenerics.Collections=System.Generics.Collections; Generics.Defaults=System.Generics.Defaults;WinType s=Windows;WinProcs=Windows;DbiTypes=BDE;
DbiProcs=BDE;DbiErrs=BDE -DDEBUG -E.\Win32\Debug -I"c:\program files (x86)\embarcadero\rad studio\10.0\lib\Win32\debug\DE";"c:\program files
(x86)\embarcadero\rad studio\10.0\lib\Win32\debug";"c:\program files (x86)\embarcadero\rad studio\10.0\lib\Win32\release\DE";"c:\program files
(x86)\embarcadero\rad studio\10.0\lib\Win32\release";"\\psf\Home\Documen ts\RAD Studio\10.0\Imports";"c:\program files (x86)\embarcadero\rad
studio\10.0\Imports";"C:\Users\Public\Documents\RA D Studio\10.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\10.0\include"
-LE"C:\Users\Public\Documents\RAD Studio\10.0\Bpl" -LN"C:\Users\Public\Documents\RAD Studio\10.0\Dcp" -N0.\Win32\Debug -NSWinapi;System.Win;Data.Win;
Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;System;X ml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touc h;Vcl.Samples;Vcl.Shell; -O"c:\program files
(x86)\embarcadero\rad studio\10.0\lib\Win32\release";"\\psf\Home\Documen ts\RAD Studio\10.0\Imports";"c:\program files (x86)\embarcadero\rad
studio\10.0\Imports";"C:\Users\Public\Documents\RA D Studio\10.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\10.0\include" -R"c:\program files
(x86)\embarcadero\rad studio\10.0\lib\Win32\release\DE";"c:\program files (x86)\embarcadero\rad studio\10.0\lib\Win32\release";
"\\psf\Home\Documents\RAD Studio\10.0\Imports";"c:\program files (x86)\embarcadero\rad studio\10.0\Imports";"C:\Users\Public\Documents\RA D
Studio\10.0\Dcp";"c:\program files (x86)\embarcadero\rad studio\10.0\include" -U"c:\program files (x86)\embarcadero\rad
studio\10.0\lib\Win32\debug\DE";"c:\program files (x86)\embarcadero\rad studio\10.0\lib\Win32\debug";"c:\program files (x86)\embarcadero\rad
studio\10.0\lib\Win32\release\DE";"c:\program files (x86)\embarcadero\rad studio\10.0\lib\Win32\release";"\\psf\Home\Documen ts\RAD
Studio\10.0\Imports";"c:\program files (x86)\embarcadero\rad studio\10.0\Imports";"C:\Users\Public\Documents\RA D Studio\10.0\Dcp";"c:\program files
(x86)\embarcadero\rad studio\10.0\include" -V -VN -NB"C:\Users\Public\Documents\RAD Studio\10.0\Dcp" -NH"C:\Users\Public\Documents\RAD
Studio\10.0\hpp" -NO.\Win32\Debug Project1.dpr
[dcc32 Warnung] Beispiel2.pas(55): W1057 Implizite String-Umwandlung von 'ShortString' zu 'string'
[dcc32 Warnung] Beispiel2.pas(59): W1057 Implizite String-Umwandlung von 'ShortString' zu 'string'
[dcc32 Fehler] Beispiel2.pas(60): E2018 Record, Objekt oder Klassentyp erforderlich
[dcc32 Fehler] Beispiel2.pas(61): E2029 ';' erwartet, aber '.' gefunden
[dcc32 Fehler] Beispiel2.pas(63): E2029 Deklaration erwartet, aber Dateiende gefunden
[dcc32 Fataler Fehler] Project1.dpr(5): F2063 Verwendete Unit 'Beispiel2.pas' kann nicht compiliert werden
Misslungen
Verstrichene Zeit: 00:00:00.3

Hat jemand hier im Forum zufällig RAD Studio XE3 und kann den Code bei sich einfügen? Dann wäre das vielleicht leichter für die Thread-TeilnehmerInnen, meine Problematik zu verstehen!

LG lusthansa
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Fehler im Delphi-Code ganz am Ende beim Kompilieren

  Alt 7. Mär 2013, 07:37
Hallo lusthansa,

fast haste es

eine Prozedure wird syntaktisch so aufgebaut

Delphi-Quellcode:
proecedure Name;
begin
end;
Eine Unit bekommt

Delphi-Quellcode:
unit name

interface

implementation

end.
Also ergibt sich:
Delphi-Quellcode:
unit name

interface

implementation

  proecedure Name;
  begin
  end;
end.
Also einmal end; für das ende der Prozedur und am ende der Unit immer ein end.
[EDIT] Tipp: Du solltest deinen Code Einrücken/Formatieren sonst hängst du ganz schnell bei nächsten Problemen fest!

Gruß
Ansgar
  Mit Zitat antworten Zitat
lusthansa

Registriert seit: 7. Mär 2013
9 Beiträge
 
#3

AW: Fehler im Delphi-Code ganz am Ende beim Kompilieren

  Alt 7. Mär 2013, 08:01
Also einmal end; für das ende der Prozedur und am ende der Unit immer ein end.
[EDIT] Tipp: Du solltest deinen Code Einrücken/Formatieren sonst hängst du ganz schnell bei nächsten Problemen fest!

Gruß
Danke für die allg. Tipps. Aber das hilft auch nichts. Ich bekomme jetzt 3 Fehler. Ich rufe gleich mal Embarcadero Deutschland an und frage nach Hilfe und poste die hier.

LG lusthansa
  Mit Zitat antworten Zitat
lusthansa

Registriert seit: 7. Mär 2013
9 Beiträge
 
#4

Windows 7 und Delphi 7

  Alt 7. Mär 2013, 08:08
Hallo, ich habe bei Embarcadero angerufen. Der Techniker hat mich gefragt, was ich für eine Workstation mit Betriebssystem habe.

was ich noch nicht gesagt habe: Ich habe einen MacBook Pro mit Parallels Desktop 7 und darauf läuft auf der virtuellen Maschine Windows 7 Home Premium 64 bit.

Der Techniker meinte: Das kann auch nicht funktionieren, ich bräuchte Windows XP - "Windows 7 und Delphi 7 - das beißt sich" (Zitat Techniker).

Was ist da dran? Ich will ja das Programm nur testweise laufen lassen mit der Start-Taste - die fertige .exe oder was immer daraus auch wird - ist mir eigentlich egal - Hauptsache keine Fehler ...

brauche ich jetzt ein neues OS??

lg lusthansa
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#5

AW: Fehler im Delphi-Code ganz am Ende beim Kompilieren

  Alt 7. Mär 2013, 08:10
Delphi-Quellcode:
unit Beispiel2;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Edit1: TEdit;
    Label2: TLabel;
    Edit2: TEdit;
    Button1: TButton;
    Edit3: TEdit;
    Label3: TLabel;
    procedure EditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
Form1.Close
end;

procedure TForm1.EditKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
var kurs, euro, dollar: Single; // Variablen, mit denen gerechnet wird
s: string; code: Integer; // Hilfsvariablen
begin
// Werte aus Editierfeldern in Variablen einlesen und prüfen:
Val(Form1.Edit1.Text, kurs, code); // Kurs einlesen
if code <> 0 then Exit;
Val(Form1.Edit2.Text, euro, code); // Euro einlesen
if code <> 0 then Exit;
Val(Form1.Edit3.Text, dollar, code); // Dollar einlesen
if code <> 0 then Exit;
// Berechnungen mit den Variablen durchführen:
if Sender = Edit3 then euro := dollar * kurs // dollar wurde eingegeben
else dollar := euro / kurs; // euro oder kurs wurden eingegeben
// Werte der Variablen in den Editierfeldern anzeigen:
if Sender = Edit3 then // dollar geändert
begin
Str(euro:8:2,s); Form1.Edit2.Text := s; // Anzeige von euro (8 Stellen,
// davon 2 Nachkomma)
end else // kurs oder euro geändert
begin
Str(dollar:8:2,s); Form1.Edit3.Text := s; // sonst Anzeige von dollar
end;
end;
end.
So sollte es gehen.
Edit: Hatte ein "end;" vergessen. Korrigiert.
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
lusthansa

Registriert seit: 7. Mär 2013
9 Beiträge
 
#6

AW: Fehler im Delphi-Code ganz am Ende beim Kompilieren

  Alt 7. Mär 2013, 08:21
So sollte es gehen.
Edit: Hatte ein "end;" vergessen. Korrigiert.
Es geht

Ich kniee nieder in Dankbarkeit vor allen Helfern

Frage: ist das jetzt ein Problem von:

mir
vom (falschen) Buch
von der lt. Embarcadero komischen Kombination Delphi 7 auf Windows 7 und NICHT auf Windows XP
von der RAD Studio XE 3 Entwicklungsumgebung ein noch ungefixter Bug?

Muss ich jetzt immer bei jedem Programmvorschlag aus dem Buch mehr Code hinzufügen im Sinne von mehr "ends" oder ist das individuell?

LG lusthansa
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Fehler im Delphi-Code ganz am Ende beim Kompilieren

  Alt 7. Mär 2013, 08:22
Einfach pro begin ein end; und am Schluß ein end.
Markus Kinzler
  Mit Zitat antworten Zitat
angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Windows 7 und Delphi 7

  Alt 7. Mär 2013, 12:13
[...] Das kann auch nicht funktionieren, ich bräuchte Windows XP - "Windows 7 und Delphi 7 - das beißt sich" (Zitat Techniker)

Was ist da dran? [...]
Jein. Ich habe D7 sowohl auf Win7 als auch Win 8 (beides 64bit) ans Laufen bekommen. Man sollte aber nicht im Programme-Ordner oder einem anderen der virtuellen Ordner installieren. Dann funktioniert das auch



Gruß
Ansgar
  Mit Zitat antworten Zitat
Benutzerbild von SubData
SubData

Registriert seit: 14. Sep 2004
Ort: Stuhr
1.078 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Fehler im Delphi-Code ganz am Ende beim Kompilieren

  Alt 7. Mär 2013, 12:21
Delphi 7 funktioniert auf Win 7 sogar recht einfach. Nicht auf die Systemplatte packen und als Administrator ausführen.
Ok, als Admin ausführen ist nicht immer unbedingt zu empfehlen, macht die Software aber relativ schnell lauffähig.
Ronny
/(bb|[^b]{2})/
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.114 Beiträge
 
Delphi 10 Seattle Enterprise
 
#10

AW: Fehler im Delphi-Code ganz am Ende beim Kompilieren

  Alt 7. Mär 2013, 12:40
Ich habe Delphi 6 neulich noch einmal unter Win7 laufen lassen müssen. Soweit ich mich erinner kann, muss es nur für den allerersten Programmstart einmal mit Administratorrechten ausgeführt werden, danach nicht mehr.

Windows wird zwar immer der Meinung sein, dass "bekannte Kompatibilitätsprobleme" bestehen, aber die Meldung lässt sich ja dauerhaft wegklicken.
  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 22:39 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