Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Do Jul 03, 2025 22:51

Foren-Übersicht » Programmierung » Allgemein
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Problem mit generics
BeitragVerfasst: Fr Mai 13, 2011 15:48 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
Hab mal wieder ein Problem mit generics. Und zwar findet er mir dieses Mal (ganz egal wie viele passende Funktionen deklariert sind) immer zu viele passende Funktionen mit demselben Namen und denselben Parametern (wobei die Parameter eigentlich nicht dieselben sind)

Die Fehlermeldung:
Zitat:
sharkutils.pas(109,4) Warning: Illegal compiler directive "$REGION"
sharkutils.pas(111,4) Warning: Illegal compiler directive "$ENDREGION"
sharkutils.pas(136,3) Error: Can't determine which overloaded function to call
sharkutils.pas(8,14) Hint: Found declaration: operator -(TFraction$Int64):TFraction$Int64;
sharkutils.pas(247,2) Warning: Illegal compiler directive "$REGION"
sharkutils.pas(249,2) Warning: Illegal compiler directive "$ENDREGION"
sharkutils.pas(253) Fatal: There were 1 errors compiling module, stopping
Also, er findet mir einen Operator "-" dessen Parameter absolut nichts mit den Parametern in Zeile 136 zu tun haben, und weiß deswegen nicht, welches - er verwenden soll.

Hier die Funktion:
Code:
  1. class function TIntMath.abs(a: T): T;
  2. begin
  3.   if a < 0 then result:= -a
  4.   else result:= a;  //das hier ist Zeile 136, a ist definitiv immer irgendein Integer typ, und kein TFraction<Int64>
  5. end;  
Die Funktion hab ich übrigens bereits wegen einem solchen Fehler gebraucht, weil er mir vorher halt nicht gewusst hat, welches abs er aufrufen soll (obwohl ich keine eigenen abs funktionen deklariert hatte)

Im übrigen existieren auch keine impliziten Typumwandlungen, wobei das eigentlich auch kein Problem sein dürfte, wenn die Parameter exakt auf genau eine Funktion passen.

Wo liegt der Fehler, bzw wie kann man ihn beheben? Hier die ganze Unit:
Dateianhang:
sharkutils.pas


Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit generics
BeitragVerfasst: Fr Mai 13, 2011 16:49 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Kompiliert bei mir ohne Fehler. (einfach fpc sharkutils.pas aufgerufen).
Code:
  1. Free Pascal Compiler version 2.4.2 [2010/12/18] for x86_64
  2. Copyright (c) 1993-2010 by Florian Klaempfl
  3. Target OS: Linux for x86-64
  4. Compiling sharkutils.pas
  5. sharkutils.pas(96,20) Warning: An inherited method is hidden by "class TFracMath$TFraction$Int64$TIntMath$Int64$Int64.equals(const TFraction$Int64,const TFraction$Int64):Boolean;"
  6. sharkutils.pas(105,20) Warning: An inherited method is hidden by "class TFracMath$TFraction$Int64$TIntMath$Int64$Int64.toString(const TFraction$Int64):AnsiString;"
  7. 301 lines compiled, 1.2 sec
  8. 2 warning(s) issued


greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit generics
BeitragVerfasst: Fr Mai 13, 2011 18:18 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
ok, hab mir grad fpc 2.4.2 runtergeladen und installiert. Lazarus benutzt nachwievor 2.2.4. Über Commandline geht auch nix, weil fpc nicht gefunden wird. Wenn ich den Pfad komplett hinschreibe (was ein bisschen aufwändig ist), kommt zumindest keine Fehlermeldung, aber es kommt auch keine Meldung, dass es funktioniert hat (also keine Ahnung, ob´s kompiliert hat).


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit generics
BeitragVerfasst: Fr Mai 13, 2011 19:02 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Lazarus fixes + fpc 2.4.2 von hier. Deine Plattform kennst du selber am besten.

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit generics
BeitragVerfasst: Sa Mai 14, 2011 08:42 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
habs geladen, installiert, gestartet, auf kompilieren gedrückt, und... nix passiert.
Zitat:
»Kompiliere Package FCL 1.0.1« beendet
C:\lazarus\lcl\lclversion.pas(32,6) Fatal: User defined: Lazarus requires at least FPC 2.4.0


hab lazarus dann gelöscht, und neu installiert, und jetzt startet es nicht mehr.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit generics
BeitragVerfasst: Sa Mai 14, 2011 17:01 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
hab noch die Version davor runtergeladen, jetzt startet es, aber der Debugger stürzt ab.


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit generics
BeitragVerfasst: So Mai 15, 2011 10:35 
Offline
DGL Member
Benutzeravatar

Registriert: Do Sep 02, 2004 19:42
Beiträge: 4158
Programmiersprache: FreePascal, C++
Das ist schlecht, kann aber passieren. Dann musst du doch die andere Version verwenden. Generics werden halt noch weiter Entwickelt und du musst entweder auf die Features verzichten oder es irgendwie schaffen, Lazarus und 2.4.2 zu verheiraten. Bei mir (d.h. unter Linux) läuft es einwandfrei.
Oh, stürzt der Debugger immer ab oder nur bei dem Beispiel? Ich habe auch die Erfahrung gemacht, dass der Debugger und Generics manchmal komisch zusammen reagieren.

greetings

_________________
If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung.
current projects: ManiacLab; aioxmpp
zombofant networkmy photostream
„Writing code is like writing poetry“ - source unknown


„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags: Re: Problem mit generics
BeitragVerfasst: So Mai 15, 2011 14:37 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 11, 2009 08:02
Beiträge: 532
Programmiersprache: pascal (Delphi 7)
Nein, der Debugger stürzt immer ab. Beim Starten von Lazarus gibts auch eine Warnung, dass nicht alles laufen wird, weil er einige "FPC Sources" nicht findet. Naja, mal sehen, ob die 32 bit versionen besser laufen ;)

edit: ja, 32 bit version lauft einwandfrei (oder zumindest konnte ich bislang kein Problem feststellen. Also es kompiliert, und stürzt nicht ab) :D


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 8 Beiträge ] 
Foren-Übersicht » Programmierung » Allgemein


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.015s | 17 Queries | GZIP : On ]