AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Form über String aufrufen

Ein Thema von Sugar · begonnen am 22. Apr 2016 · letzter Beitrag vom 22. Apr 2016
Antwort Antwort
Sugar

Registriert seit: 23. Jul 2012
83 Beiträge
 
#1

Form über String aufrufen

  Alt 22. Apr 2016, 17:10
Sorry, mir ist kein besserer Titel eingefallen...

Mein Anliegen: Ich möchte dem Benutzer erlauben Programmteile (Formulare) per Kurztext aus einem EIngabefeld heraus aufzurufen. Mein Ansatz ist, ich speichere den Benutzernamen, sein individuelles Kürzel unter dem er diesen Programmteil (das Formular) als Direktaufruf speichern möchte und den Namen des Formulars in einer Tabelle jeweils als String.

Müller, KDSTAMM, KDSTAMMFORM
Meier, KD,KDSTAMMFORM
Beckenbauer, REP, FORMANPAFORM
...

Ich weiß nun nicht, wie kann ich mit dem Namen der Form als String auch diese Form aufrufen? Ich muss irgendwie wohl den String umwandeln...

Kann mir einer helfen?

VG
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
38.968 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Form über String aufrufen

  Alt 22. Apr 2016, 17:19
Entweder du hast im Programm eine Liste/Array, wo Klassennamen (als TFormClass) und dein Bezeichner abgelegt sind.

Wenn man direkt den Klassennamen verwendet, kann man auch über die RTTI suchen, aber da sollte man aufpassen, daß nicht Blind irgendwas aufgerufen werden kann, womit man dann z.B. Sicherheitsmechianismen umgehen oder einfach nur alles verschrotten kann.



Alt, aber geht: Man kann auch in einer EXE Prozeduren "exportieren", so wie bei einer DLL, die sich dann über HInstance (das EXE-Handle) mit GetProcAddress aufrufen lassen.
Nur das was du exportiert hast, kann dann als Funktion aufgerufen werden.
Deine Aufrufe/Proceduren brauchen dann nur eine einheitliche Signatur (Parameter/Rückgabewert).
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014

Geändert von himitsu (22. Apr 2016 um 17:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
8.950 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Form über String aufrufen

  Alt 22. Apr 2016, 19:08
Das kommt auch darauf an, ob die alle Forms schon beim Programmstart erzeugst, oder dies erst bei Bedarf machst. Im ersten Fall kannst du über Screen.Forms/FormCount das passende Form suchen. Bei dynamisch erzeugten Forms musst du erst die Formklasse kennen. Die IDE sorgt aber dafür, daß die Formklasse durch voranstellen eines T aus dem Formnamen ableitbar ist.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
rNoob

Registriert seit: 18. Apr 2016
11 Beiträge
 
#4

AW: Form über String aufrufen

  Alt 22. Apr 2016, 21:39
Sorry, mir ist kein besserer Titel eingefallen...
Ich weiß nun nicht, wie kann ich mit dem Namen der Form als String auch diese Form aufrufen? Ich muss irgendwie wohl den String umwandeln...
Kann mir einer helfen?
Ich glaube mit euren sehr vertieften Antworten erschlagt ihr den Themenersteller ein wenig - oder sogar komplett.
Denn er scheint nicht einmal die kompletten Grundlagen zu kennen.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:37 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf