AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Die Delphi-IDE Komponente vor dem Platzieren umbenennen / OpenTools API
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente vor dem Platzieren umbenennen / OpenTools API

Ein Thema von CG2003 · begonnen am 20. Sep 2006 · letzter Beitrag vom 26. Sep 2006
Antwort Antwort
Seite 3 von 3     123   
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#21

Re: Komponente vor dem Platzieren umbenennen / OpenTools API

  Alt 26. Sep 2006, 06:34
So, habe das mit Deiner "ShowMessage" ausprobiert. Die Showmessage bekomme ich ja noch angezeigt, doch wenn der die Komponente umbenennen soll, via

Compo := SetPropByName('Name', 'NeuerTestName'); bekomme ich eine AV.
Sebastian M.
Viele Grüße aus Hamburg


Meine Website: www.sebastian-mundt.com
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#22

Re: Komponente vor dem Platzieren umbenennen / OpenTools API

  Alt 26. Sep 2006, 06:41
Du darfst die Komponente erst umbennen, wenn sie initialisiert ist. Das erkennst du daran, das NewName schon einen Wert hat.
Auszug aus dem CNA:
Delphi-Quellcode:
procedure TFormNotifier.ComponentRenamed(ComponentHandle: TOTAHandle;
  const OldName, NewName: string);
begin
  if (Wizard.FSettings.ExpertActive) then
  begin
    if (OldName='') and (NewName<>'') then
    begin
      FRenameTimer.Enabled:=false;
      FInsertedComponents.AddObject(NewName,ComponentHandle);
      FRenameTimer.Enabled:=true;
    end;
  end;
end;
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#23

Re: Komponente vor dem Platzieren umbenennen / OpenTools API

  Alt 26. Sep 2006, 06:50
Zitat von chaosben:
Du darfst die Komponente erst umbennen, wenn sie initialisiert ist. Das erkennst du daran, das NewName schon einen Wert hat.
Auszug aus dem CNA:
Delphi-Quellcode:
procedure TFormNotifier.ComponentRenamed(ComponentHandle: TOTAHandle;
  const OldName, NewName: string);
begin
  if (Wizard.FSettings.ExpertActive) then
  begin
    if (OldName='') and (NewName<>'') then
    begin
      FRenameTimer.Enabled:=false;
      FInsertedComponents.AddObject(NewName,ComponentHandle);
      FRenameTimer.Enabled:=true;
    end;
  end;
end;
Hmm, müsste ich mal ausprobieren, doch was bedeutet in diesem Falle

FInstertedComponents.AddObject(NewName, ComponentHandle); Ich denke das eigentlich Umbenennen mache ich mit

SetPropByName('Name', 'NeuerName'); Und was ist "Wizard", "FSettings" und "FRenameTimer" ?
Sebastian M.
Viele Grüße aus Hamburg


Meine Website: www.sebastian-mundt.com
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#24

Re: Komponente vor dem Platzieren umbenennen / OpenTools API

  Alt 26. Sep 2006, 07:19
Das war nur ein Beispiel. Das einzig interessante an dem Code war die Abfrage von OldName und NewName. Die anderen Objekte kümmern sich nur um das Cachen der Komponenten. (muss man nicht machen, kann man aber )
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#25

Re: Komponente vor dem Platzieren umbenennen / OpenTools API

  Alt 26. Sep 2006, 08:15
Ich weiss, es ist wahrscheinlich zuviel verlangt, aber wärst Du so nett, mir ein kleines Beispiel zu geben?
Irgendwie habe ich momentan in meinem Code wohl den Wurm drin und ich finde einfach nicht die Ursache, warum es nicht läuft.

Ich will doch nur Komponenten umbenennen, wenn sie auf einem Form platziert werden.

Es wäre jedenfalls sehr nett von Dir und ich wäre Dir sehr dankbar.
Sebastian M.
Viele Grüße aus Hamburg


Meine Website: www.sebastian-mundt.com
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#26

Re: Komponente vor dem Platzieren umbenennen / OpenTools API

  Alt 26. Sep 2006, 10:13
Anbei hab ich deinen Code ein wenig umgestrickt. Leider hab ich in meiner Arbeitswut vergessen an die entsprechenden Zeilen Kommentare zu schreiben. Sorry
Angehängte Dateien
Dateityp: zip test_165.zip (114,3 KB, 14x aufgerufen)
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
CG2003

Registriert seit: 8. Nov 2003
Ort: Hamburg
470 Beiträge
 
Delphi 2009 Professional
 
#27

Re: Komponente vor dem Platzieren umbenennen / OpenTools API

  Alt 26. Sep 2006, 10:58
Zitat von chaosben:
Anbei hab ich deinen Code ein wenig umgestrickt. Leider hab ich in meiner Arbeitswut vergessen an die entsprechenden Zeilen Kommentare zu schreiben. Sorry
Super, vielen Dank! Das funktioniert einwandfrei! Glaub' mir, ich bin Dir sehr dankbar!
Sebastian M.
Viele Grüße aus Hamburg


Meine Website: www.sebastian-mundt.com
  Mit Zitat antworten Zitat
Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#28

Re: Komponente vor dem Platzieren umbenennen / OpenTools API

  Alt 26. Sep 2006, 11:05
Zitat von CG2003:
Super, vielen Dank! Das funktioniert einwandfrei! Glaub' mir, ich bin Dir sehr dankbar!
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 3     123   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz