Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   FreePascal (https://www.delphipraxis.net/74-freepascal/)
-   -   Lazarus kennt keine TObjectList? (https://www.delphipraxis.net/178892-lazarus-kennt-keine-tobjectlist.html)

TForm1 2. Feb 2014 20:39

Lazarus kennt keine TObjectList?
 
Hallo zusammen,

Mein Problem: ich möchte gerne auf verschiedene Instanzen eines Formulars zugreifen. Dafür verwende ich, wie in diesem Thread angegeben eine TObjectList, nur der Compiler gibt an, keine TObjectList zu kennen.
Code:
Var meineListe: TObjectList;
muss man dafür weitere Units einbinden, oder was mache ich falsch?

Bernhard Geyer 2. Feb 2014 20:41

AW: Lazarus kennt keine TObjectList?
 
TObjectList liegt in der Unit contnrs

TForm1 2. Feb 2014 20:56

AW: Lazarus kennt keine TObjectList?
 
Ja, danke, jetzt erkennt er sie.:-D

himitsu 2. Feb 2014 21:45

AW: Lazarus kennt keine TObjectList?
 
Nur mal so ein Tipp, für's nächste Mal ... da gibt es eine geheime Funktion, die Einem manchmal sogar hilft


F1

JamesTKirk 3. Feb 2014 06:29

AW: Lazarus kennt keine TObjectList?
 
Es *kann* jedoch sein, dass hier F1 gar nicht geholfen hätte. Ich bin mir grad nämlich nicht sicher, ob Lazarus den Identifier erfolgreich gefunden haben muss, um einen Hilfeeintrag anzuzeigen... muss ich mal ausprobieren. :?

Gruß,
Sven

himitsu 3. Feb 2014 10:34

AW: Lazarus kennt keine TObjectList?
 
Zitat:

Zitat von JamesTKirk (Beitrag 1246432)
Ich bin mir grad nämlich nicht sicher, ob Lazarus den Identifier erfolgreich gefunden haben muss, um einen Hilfeeintrag anzuzeigen... muss ich mal ausprobieren. :?

:shock:

Aber im Index/Suche der Hilfe kann man dennoch nach dem Wort suchen?

JamesTKirk 4. Feb 2014 06:24

AW: Lazarus kennt keine TObjectList?
 
Das schon, dazu muss allerdings die richtige Hilfedatei in LHelp geladen sein. Lazarus übernimmt das normalerweise automatisch, aber wenn man nicht weiß, dass
Delphi-Quellcode:
Contnrs
Teil von fcl.chm und nicht von rtl.chm ist, dann hat man natürlich ein Problem...

Gruß,
Sven

TForm1 4. Feb 2014 13:03

AW: Lazarus kennt keine TObjectList?
 
Jetzt mal eine ganz blöde Frage von einem Unwissenden:

Was hätte F1 denn bewirkt? Wenn ich Lazarus den Bezeichner suchen lasse, findet er ihn nicht, das habe ich schon ausprobiert.
F1 geht leider schlecht bei Mac, oder kann man da was in den Systemeinstellungen umstellen? Damit regel ich nur die Helligkeit. :wall:

Zacherl 4. Feb 2014 13:15

AW: Lazarus kennt keine TObjectList?
 
Die Hilfe kannst du sicher auch aus dem Menü heraus öffnen, wenn dir F1 nicht zur Verfügung steht :P

himitsu 4. Feb 2014 13:19

AW: Lazarus kennt keine TObjectList?
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich vermute einfach mal, wenn ich mir das Layout anseh,
Anhang 40653 bzw. http://km.support.apple.com/library/...2841/Dutch.gif
daß F1 dort als "Zweitfunktion" auf der Taste liegt. :zwinker:

Ich hätte ja gedacht, daß Lazarus einen gemeinsamen Index über die gesamte Hilfe besitzt.
Über die Hilfe im Menü kann man sowas dann auch nicht suchen?



Ist aber schon ein bissl ungünstig, wenn man nichts findet, was man nicht kennt.

TForm1 4. Feb 2014 14:05

AW: Lazarus kennt keine TObjectList?
 
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:

Zitat von himitsu (Beitrag 1246616)
...daß F1 dort als "Zweitfunktion" auf der Taste liegt. :zwinker:

Ja, jetzt hab ich's auch gefunden :zwinker: und zwar unter Systemeinstellungen/Tastatur/Tastatur:
Anhang 40654
Ich habe das jetzt mal ausprobiert auch ohne eingebundene Unit und siehe da es kommt eine Fehlermeldung:
Anhang 40655
Mit eingebundener Unit klappts so wie es soll.

Also das nächste mal 1) entweder noch länger in der Dokumentation suchen oder 2) noch mal das Forum befragen:-D.

JamesTKirk 5. Feb 2014 06:32

AW: Lazarus kennt keine TObjectList?
 
Zitat:

Zitat von himitsu (Beitrag 1246616)
Ist aber schon ein bissl ungünstig, wenn man nichts findet, was man nicht kennt.

Ich glaub es gab vor einiger Zeit auf der Mailing Liste mal ne Diskussion dazu, ich weiß aber nicht mehr was dabei rausgekommen ist... vielleicht frage ich mal nach, was man in so einer Situation am Besten macht. :)

Gruß,
Sven

jaenicke 5. Feb 2014 07:47

AW: Lazarus kennt keine TObjectList?
 
Das erinnert mich an die viel kritisierte Delphi-Funktion (unter Refactoring) Strg + Shift + A (Unit suchen), die nach dem Bezeichner nur in Units sucht, die schon irgendwo im Projekt eingebunden sind.

JamesTKirk 5. Feb 2014 11:35

AW: Lazarus kennt keine TObjectList?
 
So, hab mal auf der Lazarus Mailing Liste nachgefragt und hat auch prompt Verbesserungen gegeben, die dann ab morgen in den Snapshots zu finden sein werden (ich weiß noch nicht wie gut sie sind, das seh ich dann morgen oder so :) ). Siehe hier.

Gruß,
Sven

TForm1 5. Feb 2014 14:59

AW: Lazarus kennt keine TObjectList?
 
Das ist ja super!:thumb:

ich hätte nicht gedacht, dass wegen mir jetzt ein Bugfix geschrieben wird; Das nenn ich mal Kundenfreundlich :-D:-D
Eine Frage: Wenn ich mir jetzt morgen den Snapshot herunterlade, welchen muss ich da nehmen für Mac OSX 10.6 (http://www.hu.freepascal.org/lazarus/) und kann ich die alte Release-Version behalten? Wird schwierig, oder?

JamesTKirk 5. Feb 2014 17:29

AW: Lazarus kennt keine TObjectList?
 
Es ist ja nun mal ein gängiges Problem, dass man vielleicht einen Typnamen weiß, aber nicht wo der deklariert ist... es profitieren also schon mehr davon. :)

Hmm... die Snapshots scheinen zur Zeit nicht aktualisiert zu werden... blöd... könnte damit zusammenhängen, dass wir vor einiger Zeit ein bisschen an der Infrastruktur umgestellt haben. Ich werd das mal ansprechen.

Ich habe auch mal darum gebeten die Anpassungen in Lazarus 1.2 mit einfließen zu lassen. Vielleicht kannst du solang noch auf ein neues Release warten. Andererseits kannst du's auch einfach von Hand kompilieren: den Source runterladen und dort make all aufrufen, wobei fpc (und make, etc.) im PATH sein muss (siehe auch hier).

Und egal, ob du nun einen Snapshot runterlädst oder dir selbst kompilierst: wenn du Lazarus mit dem Parameter "--pcp=/ein/pfad/" startest, legt Lazarus seine Konfiguration in dem angegebenen Verzeichnis ab. Dies erlaubt dir mehrere Lazarus-Versionen gleichzeitig zu verwenden (eine Version kann dann ja immer noch den Standardpfad verwenden). Achtung: Ich weiß nicht, wo du das unter Mac OS X einstellen musst.

Gruß,
Sven

TForm1 5. Feb 2014 18:03

AW: Lazarus kennt keine TObjectList?
 
Zitat:

Zitat von JamesTKirk (Beitrag 1246856)
Es ist ja nun mal ein gängiges Problem, dass man vielleicht einen Typnamen weiß, aber nicht wo der deklariert ist... es profitieren also schon mehr davon. :)

Das war mir schon klar,:wink: war auch mehr spaßeshalber gemeint.

Wenn die Änderung erst in Lazarus 1.2 einfließt ist das auch nicht schlimm, ich weiß ja jetzt wo ich suchen muss...
Ich werde jetzt auch bestimmt nicht wegen dieser Kleinigkeit anfangen, Lazarus neu aufzuspielen; Wie heißt es doch so schön:

Never touch a running system...

ThomasBab 6. Feb 2014 05:43

AW: Lazarus kennt keine TObjectList?
 
Hallo!

Ist Dir das hier https://bitbucket.org/reiniero/fpcup schon bekannt?

JamesTKirk 6. Feb 2014 08:00

AW: Lazarus kennt keine TObjectList?
 
Zitat:

Zitat von TForm1 (Beitrag 1246860)
Ich werde jetzt auch bestimmt nicht wegen dieser Kleinigkeit anfangen, Lazarus neu aufzuspielen

Ich hab grad noch nen Tip gelesen, der auch im aktuellen Release (zumindest hab ich's mit der 1.0.12 getestet) funktioniert:
  • kompilier einfach deinen Code; im Nachrichtenfenster wird dann die Meldung "Error: Identifier not found: TObjectList" auftauchen
  • mach nen Rechtsklick auf diese Nachricht und wähle Suche Bezeichner
  • stelle den Bereich von Projekt auf Lazarus-IDE um (in der Entwicklungsversion und hoffentlich auch 1.2 muss das nicht mehr gemacht werden)
  • warte n bisschen (vielleicht verschwindet der Code Browser dabei auch in den Hintergrund; einfach unter dem Fenster-Menü wieder auswählen)
  • entweder den Punkt contnrs auswählen oder diesen Aufklappen und TObjectList auswählen und dann im Kontextmenü Verwende Unit contnrs in Unit EigeneUnit auswählen (Achtung: erst Knoten mit linker Maustaste auswählen und dann das Kontextmenü öffnen; Rechtsklick auf einen nicht ausgewählten Knoten führt nicht zum gewünschten Ergebnis)
  • Problem gelöst :D

Gruß,
Sven

TForm1 6. Feb 2014 12:45

AW: Lazarus kennt keine TObjectList?
 
@Thomas:
Nein, das kannte ich noch nicht; das werde ich mal ausprobieren, wenn ich Zeit habe.

@Sven:
Danke für den Tip, dann weiß ich das nächste mal, wo ich suchen muss.:-D


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:10 Uhr.

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