Einzelnen Beitrag anzeigen

Benutzerbild von TOC
TOC

Registriert seit: 5. Jan 2005
Ort: Trier
248 Beiträge
 
Delphi 7 Personal
 
#10

Re: Neue Komponenten für Delphi 3.0 oder 7.0

  Alt 18. Mär 2005, 15:20
HI!

Zitat von mimi:
nicht schlecht deine komponenten, doch leider habe ich im beispiel buttons zwei fehler gefunden:
einer fehler habe ich gefunden und das problem gelöst:
Delphi-Quellcode:
Procedure TForm3.UpdateList;
Var I:Byte;
Begin
  With ListBox1 do Begin
    Clear;
    Count:=0;
    For I:=1 to 9 do Begin
      If FileArray[I]='then Break;
      Items.Add(' '+IntToStr(I)+' '+Form2.ShortString(45,FileArray[I]));
      Count:=Count+1;
// Inc(Count);
    End;
  End;
  SetButtonFlags;
End;
du kannst nicht überall inc verwenden(warum weiß ich nicht)
und beim zweiten fehler finde ich die ursache leider nicht:

Zitat:
[Fataler Fehler] Das Programm oder die Unit 'Buttons' ruft sich selbst wieder auf
Sorry, ich habe extra darauf hingewiesen das die ColorText-Beispielprogramme in Delphi 3.0 geschrieben wurden. Das sin Inkompatibilitäten zwichen 3.0 und 7.0. Ich hatte leider noch keine Zeit alle Demos in 7.0 neu zu überarbeiten (Kommt noch, versprochen!). Und zwar ist 'Count' eine private Variable aus Form3, oben steht aber 'With ListBox1 do Begin...'. Und bei Delphi 7.0 hat nun eine ListBox eine neue Eigenschaft 'Count'. Daran liegt das. Deswegen kann man keinen 'Inc' verwenden, denn eine Eigenschaft kann man mit 'Inc' und 'Dec' nicht ändern! Der Compiler denkt es wäre die Eigenschaft 'Count' der Listbox gemeint, gemeint ist aber die Variable aus Form3! Deswegen hilft es auch nix wenn du da schreibst 'Count:=Count+1', das läßt sich zwar kompilieren, ist aber falsch!

Probier es doch mal so:

Delphi-Quellcode:
 
 With ListBox1 do Begin
    Clear;
    Form3.Count:=0;
    For I:=1 to 9 do Begin
      If FileArray[I]='then Break;
      Items.Add(' '+IntToStr(I)+' '+Form2.ShortString(45,FileArray[I]));
      Inc(Form3.Count);
    End;
  End;
  SetButtonFlags;
Das sollte in Delphi 7.0 funktionieren.

Zum zweiten Fehler : Sorry, keine Ahnung woran dies liegt. Warte bitte bis ich die Demos in 7.0 neu kompiliert habe, den Fehler finden wir ganz sicher auch noch. Aber Zeit ist leider ein begrenztes Gut!
Ich werd mich gleich zuhause an die Arbeit machen, aber es wird wohl ein paar Tage dauern...

Ansonsten: Danke für die Fehlermeldung!

----------------------------------------------------------------------------------------------------

Zum zweiten Fehler: Delphi 3.0 ignoriert den Namen des Programmes der als erste Zeile im Hauptprogramm steht komplett, Delphi 7.0 nimmts wesentlich genauer. Es gibt tatsächlich eine Unit 'Buttons', und deshalb darf bei Delphi 7 das Programm nicht 'Buttons' heißen, Kicher! Hab das Buttons-Programm in Delphi 7 deshalb umbenannt, in 'TocsButtons'! Das schluckt der 7.0 Compiler.

So, unten im Anhang: Beispeile für ColorText für Delphi 7.0!

Da man an jede Nachricht nur maximal 4 Anhänge machen kann war es nicht möglich die Archieve an den ersten Beitrag anzuhängen!

Grüße von TOC!
Lars Uwe Hohmann
"Wäre die Erde eine Bank, ihr hättet sie längst gerettet!"
(Zitat GreenPeace)
  Mit Zitat antworten Zitat