AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

ToolsAPI Notification F9

Ein Thema von win568 · begonnen am 31. Jul 2015 · letzter Beitrag vom 31. Jul 2015
Antwort Antwort
Seite 1 von 2  1 2      
win568

Registriert seit: 8. Sep 2008
134 Beiträge
 
#1

ToolsAPI Notification F9

  Alt 31. Jul 2015, 10:40
Hi

Ich suche derzeit in der ToolsAPI eine Notification, die ausgelöst wird, wenn der User F9 drückt, bevor der Compiler beginnt. Es gibt zwar die IOTAIDENotifier mit BeforeCompiler, nur wird diese auch bei Crlt+F9 ausgelöst. Ich bräuchte aber noch die Unterscheidung, ob nur F9 gedrückt wurde. Könnte es zwar mit Keyboard Shortcut auch lösen, es wäre mir aber ein Notifier lieber.
Ideen ??
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#2

AW: ToolsAPI Notification F9

  Alt 31. Jul 2015, 10:45
Direkt die Tasten zu unterscheiden wird schwierig. Könnte funktionieren (GetKeyState wäre hier wohl die wahl), aber das wirkt etwas schmutzig. Es gibt die Möglichkeit mitzubekommen bevor kompiliert wird und IIRC wenn der Prozess der debuggt werden soll gestartet wird.
Kannst du mir das Problem genauer schildern?
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
win568

Registriert seit: 8. Sep 2008
134 Beiträge
 
#3

AW: ToolsAPI Notification F9

  Alt 31. Jul 2015, 10:52
Hi

Wir modularisieren derzeit unsere Software. Um diese dann effizient compilieren zu können, haben wir eigene AddIns entwickelt, mit denen wir die gesamte Compilierung selber implementiert haben, da die Delphi eigenen dazu zu langsam und speicherfressend sind. Wenn ich nun mit F9 das Projekt starten möchte, soll vor dem Start, geprüft werden, ob das Startprojekt aktiv ist und wenn nicht automatisch umgeschaltet werden. Es gibt da zwar die BeforeProgramLaunch Methode im IOTADebuggerNotifier, jedoch ist es hier zu spät. Wir haben festgestellt, dass bei einem Umschalten zu diesem Zeitpunkt die IDE mehr Speicher beim Debuggen benötigt, als wenn ich vorher das Projekt umschalte und erst dann F9 drücke. Genau diesen Punkt möchte ich nun automatisieren. Deshalb benötige ich ein Event, das nach dem Drücken von F9, vor dem eigentlichen Compiler ausgeführt wird.
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#4

AW: ToolsAPI Notification F9

  Alt 31. Jul 2015, 10:56
Friss dich durch das MainMenü, grab die Action hinter Run(oder was du brauchst). Häng deine eigene an. Beim aufrufen machst du was du brauchst und rufst dann die originale Action auf.

EDIT: Das umschalten brauchst du, weil bei jedem neucompilieren eines Modules die Startapplikation auch neu gemacht werden muss? Ansonsten gäbs da ja entsprechende Debuggereinstellungen um für Launchprogramm des Modules.
EDIT2: Gegen (IDE)-Speicherhunger hilft auch das kompilieren als extern per MSBUILD (IIRC).
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden

Geändert von Memnarch (31. Jul 2015 um 10:59 Uhr)
  Mit Zitat antworten Zitat
win568

Registriert seit: 8. Sep 2008
134 Beiträge
 
#5

AW: ToolsAPI Notification F9

  Alt 31. Jul 2015, 10:58
Hi

Die Idee ist mir zwar auch schon gekommen, jedoch wäre mir ein Notifier lieber . Diese Art ist ja auch eher mehr ein Hack. Ich habe leider in der gesamten ToolsAPI nichts gefunden
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#6

AW: ToolsAPI Notification F9

  Alt 31. Jul 2015, 11:05
Kleiner Hack ja, aber wenn du länger in der IDE arbeitest wirst du merken das Hacks hier und da dazugehören. Du musst sie "nur" robust schreiben und darfst die nicht hinklatschen. Habe z.B. einen Hack geschrieben, der es mir ermöglicht endlich wieder korrekt die LibraryPath(und weitere Werte) für die einzelnen Platformen zu setzen(Win, OSX, Android...). Das ist ja in der ToolsApi broken seit der Multiplatformeinführung.

Aber nochmal zum Anfang: wofür genau musst du das Startprojekt vor dem modul kompilieren? Und warum musst du das überhaupt unterscheiden(F9 und CTRL+F9)?
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
win568

Registriert seit: 8. Sep 2008
134 Beiträge
 
#7

AW: ToolsAPI Notification F9

  Alt 31. Jul 2015, 11:15
Hi

Glaub mir, ich schreibe seit 2000 IDE PlugIns und habe bereits viele Hacks drinnen . Bin jedoch nur dann bereit, wenn gar nichts mehr geht, dass ich auf diese Art der Implementierung zurückgreife. Ich habe mir da bereits oft die Finger verbrannt und Fehler in diesem Bereich zu suchen ist enorm aufwändig .

Tja, mit Ctrl+f9 wird das aktive Package compiliert. Wenn der User nun F9 drückt, und es handelt sich um eine Projektgruppe mit Packages, schalte ich automatisch auf das vorher festgelegte Startprojekt (oder wenn keines festgelegt auf das erste zu startende Projekt in der Projektgruppe) um, damit er dann das Projekt debuggen kann. Funkt auch um BeforeLaunchProject, jedoch benötigt die IDE hier mehr Speicher, als wenn ich das Projekt umschalte, bevor dann der Compilelauf stattfindet.
Da es ja Packages sind, die erzeugt werden funkt dieser Weg. Wird eine Projektgruppe ohne Packages verwendet, wird ein anderes Verfahren verwendet.
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#8

AW: ToolsAPI Notification F9

  Alt 31. Jul 2015, 11:21
warum setzt du nicht die Debugger einstellungen des Projektes um das Startprogramm festzulegen und lässt den Rest die IDE machen? Da muss doch eigentlich kein Plugin her.
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
win568

Registriert seit: 8. Sep 2008
134 Beiträge
 
#9

AW: ToolsAPI Notification F9

  Alt 31. Jul 2015, 11:26
. Geht wenn man nur mit einer Projektgruppe arbeitet. Da wir viele Unterschiedliche haben, teilweise mit mehreren Startprojekten, musste da eine Logik her. Je nach Anwendungsart wird dann das vorher festgelegte Startprojekt, dass zu der Projektgruppe gespeichert wird, gestartet.
Derzeit haben wir über 100 Projektgruppen. Das größte Projekt hat 17 Mio Locs. Ein Packageprojekt umfasst derzeit mehr als 90 Packages, die statisch bzw. dynamisch in die Exe gelinkt/geladen werden.
  Mit Zitat antworten Zitat
Benutzerbild von Memnarch
Memnarch

Registriert seit: 24. Sep 2010
737 Beiträge
 
#10

AW: ToolsAPI Notification F9

  Alt 31. Jul 2015, 11:38
könntest du nicht einfach per IDE-Plugin die Launchapplication für die Module beim before compile setzen?
Da man Trunc nicht auf einen Integer anwenden kann, muss dieser zuerst in eine Float kopiert werden
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 00:32 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