| Autor |
Beitrag |
Borg-Cube
      
Beiträge: 38
Delphi 2009
|
Verfasst: Mo 02.03.09 11:13
Hallo zusammen
Ich habe mein System nach längerer Programmierpause auf Delphi 2009 umgestellt.
Dann wollte ich für ein Projekt die Komponente TColorButton installieren. Auf einem Rechner mit Windows XP klappt das hervorragend. Unter Wiindows Vista gibt es allerdings ein Problem:
Bei der Installation scheint die Register-Procedure nicht korrekt aufgerufen zu werden. D.h. nach der Installation kommt ein Fenster "Die Komponente wurde erfolgreich installiert" und unter den Packages ist sie auch aufgelistet. Im Tool-Window (also bei den ganzen verwendbaren Komponenten) taucht die Komponente nicht auf. Auch die in der Register-Procedure angegebene Unterkategorie wird nicht angelegt. Es hilft auch nicht eine bereits existierende Kategorie anzugeben.
Das Problem tritt wie gesagt nur unter Vista (SP1, alle Updates installiert) auf. Der Benutzer ist als Admin angemeldet und die Benutzerkontensteuerung ist ausgeschaltet. Delphi selbst ist auch auf dem aktuellsten Stand.
Ich habe die Vermutung, dass Vista irgendwie die schreibrechte verweigert oder so was. Hat irgendwer sonst schon mal das Problem gehabt und es lösen können bzw. wenn ihr Vista verwendet: Wo habt ihr Delphi hin installiert? In Programme-Ordner oder in euren User-Ordner oder ganz wo anders?
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 02.03.09 13:34
Borg-Cube hat folgendes geschrieben : | | Der Benutzer ist als Admin angemeldet und die Benutzerkontensteuerung ist ausgeschaltet. |
So habe ich unter Vista noch nie gearbeitet (ich sehe auch keinen Grund dafür, außer um Viren zu sammeln zur Analyse oder so  ). Deshalb habe ich keine Ahnung was das abgesehen vom drastisch erhöhten Sicherheitsrisiko für Nebeneffekte hat.
Borg-Cube hat folgendes geschrieben : | | Ich habe die Vermutung, dass Vista irgendwie die schreibrechte verweigert oder so was. |
Die Frage ist, was im Package als Ausgabeordner angegeben ist. Das Package und die Komponente selbst gehört selbstverständlich nicht unter c:\program files, die gehören in einen beschreibbaren Ordner. Standardmäßig ist der Ausgabeordner z.B. RAD Studio\6.0\Bpl in den öffentlichen Dokumenten.
Wird das Package in diesen Ordner kompiliert oder in einen anderen? (Das steht ja in der Liste der Packages z.B. auch drin.)
Borg-Cube hat folgendes geschrieben : | | Hat irgendwer sonst schon mal das Problem gehabt und es lösen können bzw. wenn ihr Vista verwendet: Wo habt ihr Delphi hin installiert? In Programme-Ordner oder in euren User-Ordner oder ganz wo anders? |
Ich habe es vollkommen normal installiert in den Standardpfad, führe es ohne Adminrechte aus und die Benutzerkontensteuerung ist selbstverständlich aktiviert.
Und da gab es bisher keinerlei Probleme, weder mit eigenen noch mit fremden Komponenten wie der JVCL.
// EDIT:
Und TColorButton funktioniert (abgesehen vom grausligen Aussehen, weil ohne Themes) problemlos. Neue Unit und neues Package angelegt, installiert, fertig, funktioniert. 
|
|
Borg-Cube 
      
Beiträge: 38
Delphi 2009
|
Verfasst: Mo 02.03.09 15:42
Ich hab Delphi jetzt 3 mal neuinstalliert. Die Unit und das Projekt/package in dem Programme-Ordner, im Dokumente-Ordner, im Projekt-Ordner versucht. Immer scheint die Meldung dass die Komponente registriert wurde, aber sie ist einfach nicht da.
Ich weiß echt nicht mehr was ich noch versuchen soll, außer Delphi 6 wieder aus dem Schrank zu holen und die Sch**** hier einfach damit zu machen....
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 02.03.09 15:51
Erstell die Buttons doch einfach zur Laufzeit, das dürfte wohl die allereinfachste Lösung sein.
Wird denn die kompilierte Datei des Packages in dem entsprechenden Ordner (RAD Studio\6.0\Bpl in den öffentlichen Dokumenten) erstellt?
Oder du nimmst eben Standardbuttons mit Glyphs, dann sieht das wenigstens wie im System eingestellt aus, und (Manifest bzw. das Häkchen in den Projektoptionen unter 2009 vorausgesetzt) ab XP gleich viel besser.
|
|
Borg-Cube 
      
Beiträge: 38
Delphi 2009
|
Verfasst: Mo 02.03.09 16:08
Wie erstelle ich die Buttoins zur Laufzeit?
Die kompilierte Datei ist in dem Bpl-Ordner in den öffentlichen Dokumenten.
Das Ziel ist es ein farbiges Feld zu erhalten dass entweder rot, grün oder grau gefärbt ist und mehrere Zeilen Text aufnehmen kann. Ich habe das auch mit TPanel versucht, aber da konnte ich keinen Zeilenumbruch hinbekommen (versucht mit + #13 +#10). Da wurde einfach alles in die gleiche Zeile geschrieben.
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 02.03.09 16:16
Borg-Cube hat folgendes geschrieben : | | Wie erstelle ich die Buttoins zur Laufzeit? |
Delphi-Quelltext 1: 2: 3:
| xy := TColorButton.Create(Self); xy.Parent := Self; xy. ... |
Borg-Cube hat folgendes geschrieben : | | Die kompilierte Datei ist in dem Bpl-Ordner in den öffentlichen Dokumenten. |
Dann kann ich auch nicht sagen woran es liegt. Ein Rechteproblem kann es eigentlich nicht sein, denn bei mir geht es mit UAC und ohne Adminrechte ja auch.
Aber ob es da Effekte ohne UAC gibt, weiß ich nicht. Ich weiß gar nicht wie das dann mit der Rechteverwaltung aussieht.
Borg-Cube hat folgendes geschrieben : | | Das Ziel ist es ein farbiges Feld zu erhalten dass entweder rot, grün oder grau gefärbt ist und mehrere Zeilen Text aufnehmen kann. Ich habe das auch mit TPanel versucht, aber da konnte ich keinen Zeilenumbruch hinbekommen (versucht mit + #13 +#10). Da wurde einfach alles in die gleiche Zeile geschrieben. |
Nimm doch einfach ein TPanel, pack nen TLabel drauf und setze bei dem WordWrap auf True. Dann noch bei dem Label ggf. AutoSize aus, Alignment und / oder Anchors setzen, ...
Das dürfte da die viel passendere Version sein, vor allem, weil beim Panel auch die Themes aktiv sind dann, es also ordentlich aussieht. Auch die Anpassung was zentrieren (Alignment) und so angeht sind ja viel besser.
|
|
Borg-Cube 
      
Beiträge: 38
Delphi 2009
|
Verfasst: Mo 02.03.09 16:27
Mit den Labels hab ich auch schon überlegt, aber es wird eine anzahl zwischen 1 und 5 Labels auf dem Panel zur laufzeit erscheinen müssen.
Zur Laufzeit erstellen geht einigermaßen, ist aber ausrichtungstechnisch etwas suboptimal.
Ich werde mal die Label-Lösung versuchen. Eigentlich hätte doch Panel1.Caption :='Zeile1'+#13+#10+'Zeile2'+#13+#10+'Zeile3' funktionieren müssen....
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 02.03.09 16:37
Borg-Cube hat folgendes geschrieben : | | Mit den Labels hab ich auch schon überlegt, aber es wird eine anzahl zwischen 1 und 5 Labels auf dem Panel zur laufzeit erscheinen müssen. |
Warum das, ein Label kann doch mehrere Zeilen darstellen (wie gesagt).
Eins reicht also doch es sei denn du brauchst mehrere Spalten, aber das wäre beim Button ja auch nicht möglich gewesen.
|
|
Borg-Cube 
      
Beiträge: 38
Delphi 2009
|
Verfasst: Mo 02.03.09 16:51
ja, jetzt hab ichs mit dem Label.
|
|
|