Twinsetter
Erfahrenes Mitglied
Hallo zusammen!
Ich arbeite schon seit längerem an einem größeren Projekt, welches ich noch mit Delphi 4 programmiere. Der Umstieg auf eine aktuellere Version war bisher nicht möglich, da ich im Projekt 3 Komponenten benutze, die zwar Freeware sind aber nur als Binärversion, d.h. ohne Quellen vorhanden sind. Eine Migration dieser Komponenten auf Delphi 7 oder neuer ist daher nicht möglich. Auch die striktere Trennung von Runtime und Designetime ab Delphi 6 hat mich bisher davon abgehalten auf eine neuere Version umzusteigen, da dies bei einigen Komponenten (-sammlungen ) richtig in Arbeit ausartet.
Ich habe mich nun doch entschlossen das Ganze anzugehen. Die Komponenten die ich nur im Binärcode habe, werde ich nun selbst reimplementieren (ist nicht weiter schwierig da alles nicht visuelle Komponenten - braucht halt nur Zeit).
Alle benutzten Komponenten mit Quellcode habe ich mittlerweile auf Delphi 7 portiert und angefangen auch mein Projekt Schritt für Schritt zu portieren. Dabei habe ich folgenden Fehler entdeckt, den ich mir nicht erklären kann. Ich habe eine Klasse deklariert, welche natürlich auch Funktionen und Pozeduren enthält (s. Codeausschnitt)
Soweit so gut. Obige Funktion habe ich anschließend im Implementationabschnitt umgesetzt. Dabei scheint mir ein Fehler unterlaufen zu sein, den ich bisher nicht bemerkt habe, weil das alles fehlerfrei kompilierte und auch einwandfrei funktioniert hat. Die implementierte Funktion siehe folgender Codeschnipsel:
Ja Ihr seht es richtig, ich habe die deklarierte Funktion als Prozedur implementiert.
Delphi 7 meckert das Ganze nun korrekterweise an. Es ist auch kein Problem dies zu korrigieren.
Ich wüßte jetzt gern ob andere auch schon dieses Phänomen frestgestellt haben. Wie gesagt ist alles nicht weiter schlimm - ich kanns mir bloß nicht erklären, da der Pascalcompiler normalerweise sehr restriktiv ist und so was nicht durchgehen läßt.
Bin sehr gespannt auf die Antworten.
Twinsetter
Ich arbeite schon seit längerem an einem größeren Projekt, welches ich noch mit Delphi 4 programmiere. Der Umstieg auf eine aktuellere Version war bisher nicht möglich, da ich im Projekt 3 Komponenten benutze, die zwar Freeware sind aber nur als Binärversion, d.h. ohne Quellen vorhanden sind. Eine Migration dieser Komponenten auf Delphi 7 oder neuer ist daher nicht möglich. Auch die striktere Trennung von Runtime und Designetime ab Delphi 6 hat mich bisher davon abgehalten auf eine neuere Version umzusteigen, da dies bei einigen Komponenten (-sammlungen ) richtig in Arbeit ausartet.
Ich habe mich nun doch entschlossen das Ganze anzugehen. Die Komponenten die ich nur im Binärcode habe, werde ich nun selbst reimplementieren (ist nicht weiter schwierig da alles nicht visuelle Komponenten - braucht halt nur Zeit).
Alle benutzten Komponenten mit Quellcode habe ich mittlerweile auf Delphi 7 portiert und angefangen auch mein Projekt Schritt für Schritt zu portieren. Dabei habe ich folgenden Fehler entdeckt, den ich mir nicht erklären kann. Ich habe eine Klasse deklariert, welche natürlich auch Funktionen und Pozeduren enthält (s. Codeausschnitt)
Code:
type
Tsv_db = class(TDataModule)
.
.
.
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
.
.
.
function CloseKundenDB:boolean;
.
.
.
end;
Soweit so gut. Obige Funktion habe ich anschließend im Implementationabschnitt umgesetzt. Dabei scheint mir ein Fehler unterlaufen zu sein, den ich bisher nicht bemerkt habe, weil das alles fehlerfrei kompilierte und auch einwandfrei funktioniert hat. Die implementierte Funktion siehe folgender Codeschnipsel:
Code:
procedure Tsv_db.CloseKundenDB;
begin
Kunden.Active:=False;
end;
Delphi 7 meckert das Ganze nun korrekterweise an. Es ist auch kein Problem dies zu korrigieren.
Ich wüßte jetzt gern ob andere auch schon dieses Phänomen frestgestellt haben. Wie gesagt ist alles nicht weiter schlimm - ich kanns mir bloß nicht erklären, da der Pascalcompiler normalerweise sehr restriktiv ist und so was nicht durchgehen läßt.
Bin sehr gespannt auf die Antworten.
Twinsetter