AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Borland - Endlich wissen wo Funktionen landen werden...
Thema durchsuchen
Ansicht
Themen-Optionen

Borland - Endlich wissen wo Funktionen landen werden...

Ein Thema von LoewenZahn · begonnen am 10. Okt 2013 · letzter Beitrag vom 11. Okt 2013
Antwort Antwort
Benutzerbild von LoewenZahn
LoewenZahn

Registriert seit: 10. Okt 2013
22 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Borland - Endlich wissen wo Funktionen landen werden...

  Alt 10. Okt 2013, 15:49
Grüße ihr Veteranen,

ich programmiere des öfteren im Borland Studio 2006, dort erstelle ich fröhlich meine Zeilen und somit auch mal eine function oder procedure. Soweit so gut, doch landet das Grundgerüst meist an unpassenden Stellen!

Beispiel: Ich doppelklicke einen Button im Designer an und lande somit automatisch im (noch leeren) Quellcode der procedure TButton1.OnClick. Dieses Gerüst ist aber weder am Ende noch am Anfang, sondern irgendwo zwischen allen anderen zu finden, was, wenn man diese sortiert und kommentiert an absolut falscher Stelle sein kann.

Ich schreibe hier nun nicht "nur" um meinen Frust los zu werden, sondern auch in Hoffnung das es eventuell doch ein System oder eine Einstellungsmöglichkeit hinter dem Ganzen gibt.

Freue mich über jegliche positive Meldung.
PS: Thx für Titelkorrektur

Gruß
Tim

Geändert von LoewenZahn (10. Okt 2013 um 15:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.332 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Borland - Endlich wissen wo Funktionen landen werden...

  Alt 10. Okt 2013, 16:04
Das ist as-designed. Die Forderung, dass man das mal konfigurieren kann, ist bei Embarcadero durchaus angekommen, mehrfach, aber bisher nicht umgesetzt worden. Im Moment wird es alphabetisch gemacht, was aber nicht immer richtig geht, wenn man selbst schon Methoden manuell dazwischengestreut hat. Solange man die alle automatisch erstellen lässt, sollte es auch alphabetisch sein.

Nichtsdestotrotz ist die Reihenfolge auch egal. Wenn man damit Probleme hat, sollte man prüfen, ob man in der Unit zu viel Funktionalität hat. Und mit Tools wie dem CnPack kann man auch mit einer Such-Combobox oben über dem Editor komfortabel zu einer bestimmten Methode springen. Mit Strg + Shift + Pfeil hoch/runter kann man ja schon von Hause aus zwischen Implementierung und Interface springen.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#3

AW: Borland - Endlich wissen wo Funktionen landen werden...

  Alt 10. Okt 2013, 16:25
Mir widerfährt es unregelmäßig, aber doch hin&wieder in RadStudio2009Delphi, daß ein Procedure-Rumpf hinter dem end. landet und die IDE daraufhin die Meldung herausgibt: Methode nicht gefunden. Gelegentlich werden Methodenrümpfe auch innerhalb einer bereits bestehender Methoden platziert oder innerhalb eines Kommentars, das ist dann besonders ärgerlich, weil man nicht so einfach erkennen kann, wo denn der erzeugte Methodenrumpf abgeblieben ist. Kürzlich sah das so aus:
Delphi-Quellcode:
proprocedure TForm1.Anzeigen;
begin
end;cedure TForm1.FormShow(Sender: TObject);
begin
   Pfad := ExtractFilePath(ParamStr(0));
   Anzeigen;
end;
Das ist dann ganz besonders ärgerlich. Mir hilft dann am schnellsten ein Compilierversuch, der den Cursor an die Stelle bringt, wo ein automatisch erzeugter Methodenrumpf den Fehler ausgelöst hat.

Ich würde mir wünschen, daß Methodenrümpfe immer am Ende der letzen Methode direkt vor dem end. platziert werden, dann müßte man nicht lange suchen und wäre mit einem Ctrl-Ende auch schnell dort – und es wäre wohl ein Clacks für Emba, das zu realisieren. Wenn mir jemand zeigt, wie ich das selber umsetzen kann, würde ich mich sogar daranwagen.

Aber dennoch finde ich, mit dieser kleinen Unbequemlichkeit kann man durchaus leben, es gibt Schlimmeres.

Geändert von Perlsau (10. Okt 2013 um 18:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.332 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Borland - Endlich wissen wo Funktionen landen werden...

  Alt 10. Okt 2013, 16:40
Seit XE hatte ich das kein einziges Mal mehr, so etwas hatte ich nur mal in Delphi 2006.

Was allerdings leider auch in XE4 noch passiert ist (in XE5 bisher nicht, aber die Hoffnung stirbt zuletzt... ):
Wenn eine neue Unit in das Projekt aufgenommen wurde, wurde zuweilen die uses-Liste komplett zerstört. Lässt sich zwar schnell reparieren, ist aber dennoch sehr ärgerlich. Insbesondere weil der Parser, der dort für das Einbringen von Änderungen benutzt wird, sogar noch schlechter zu sein scheint als mein eigener, den ich "mal eben schnell" für ein wenig Refactoring gebastelt hatte...
Der macht solche Anpassungen korrekt und misshandelt auch den restlichen Code nicht so wie Delphi in der Projektdatei...
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#5

AW: Borland - Endlich wissen wo Funktionen landen werden...

  Alt 10. Okt 2013, 17:00
Du kannst den Designer dazu zwingen, die von ihm generierten Funktionen an einer bestimmten Stelle zu sammeln:

Plaziere Deinen gesamten Code innerhalb eines {$IFDEF abc}. Der Designer packte die Funktionen dann nicht in diesen Bereich. 'abc' muss natürlich definiert sein.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#6

AW: Borland - Endlich wissen wo Funktionen landen werden...

  Alt 10. Okt 2013, 22:21
Bei mir hat ifdef in der dpr leider genau den gegenteiligen Effekt. Es werden dann uses plötzlich 10x dupliziert und an beliebige Zeilen angehangen.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.332 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Borland - Endlich wissen wo Funktionen landen werden...

  Alt 11. Okt 2013, 06:01
In der .dpr meinte er das auch nicht, da ist der Parser wie ich ja auch geschrieben hatte leider kaputt (aber das ist ja "as-designed", das muss so), aber in einer Formularunit funktioniert das schon so.

// EDIT:
Und grad wo ich es geschrieben habe...
Neues Projekt in XE5, einfach ne Unit hinzugefügt, Ergebnis in der .dpr...
Delphi-Quellcode:
ususes
  System.SysUtils,
  System.Classes,
  Unit1 in 'Unit1.pas';

R *.res}
Aber das muss ja so...

// EDIT2:
Ok, der Fall ist reproduzierbar...
http://qc.embarcadero.com/wc/qcmain.aspx?d=119689
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Geändert von jaenicke (11. Okt 2013 um 11:23 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:07 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