AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Komponente in Funktion verwenden -> Kompo nicht gefunden!
Thema durchsuchen
Ansicht
Themen-Optionen

Komponente in Funktion verwenden -> Kompo nicht gefunden!

Offene Frage von "Darko"
Ein Thema von Darko · begonnen am 17. Jun 2008 · letzter Beitrag vom 17. Jun 2008
Antwort Antwort
Darko

Registriert seit: 12. Mai 2008
39 Beiträge
 
Delphi 7 Enterprise
 
#1

Komponente in Funktion verwenden -> Kompo nicht gefunden!

  Alt 17. Jun 2008, 19:49
Ich möchte in meiner Funnktion 2 Komponenten verwenden:

Delphi-Quellcode:
function LongName(short: String): String;
var li: Integer;
begin
  if long_names=True then
    begin
     for li := 0 to LbLehShort.Count - 1 do
      if ansipos(ansilowercase(short),ansilowercase(LbLehShort.Items.Strings[li]))
      = 1 then
       if long_direct=TRUE then
        Result:=LbLehLong.Items.Strings[li]
       else
        Result:='<font title="'+LbLehLong.Items.Strings[li]+'">'+short+'</font>';
  end;
end;
Zitat:
[Fehler] Unit2.pas(1144): Undefinierter Bezeichner: 'LbLehShort'
[Fehler] Unit2.pas(1148): Undefinierter Bezeichner: 'LbLehLong'
Wie kann ich die Komponente denn nu doch darin verwenden?
Ralf-Michael
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Komponente in Funktion verwenden -> Kompo nicht gefun

  Alt 17. Jun 2008, 19:53
wo hast du sie deklariert und instanziiert?

oki
42
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Komponente in Funktion verwenden -> Kompo nicht gefun

  Alt 17. Jun 2008, 19:53
Da es eine freie Funktion und keine Methode ist, musst du die Form angeben oder eine Methode drauss machen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Cyberbob
Cyberbob

Registriert seit: 24. Jan 2005
Ort: Karben
626 Beiträge
 
Delphi XE7 Architect
 
#4

Re: Komponente in Funktion verwenden -> Kompo nicht gefun

  Alt 17. Jun 2008, 19:56
und aus
if long_direct=TRUE then würde ich noch
if long_direct then machen.

da es sonst zu problemen führen kann. das wurde auch mal in einem thread ausgiebig diskutiert, allerdings finde ich ihn nicht mehr
Christian
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#5

Re: Komponente in Funktion verwenden -> Kompo nicht gefun

  Alt 17. Jun 2008, 20:22
Hallo,

die Prüfung auf long_names gehört nicht in die Funktion. Der Test boolVar = True ist abgesehen von Implementierungsproblemen so elegant wie das Multiplizieren mit 1 (für Kenner). Eine Methode fände ich nicht so gut, den Zugriff über die Formvariable noch weniger. Wenn man die kurzen und langen "Namen" als Name-Value-Paare in einer StringList (ValueListEditor) hält, dann benötigt man noch nicht mal eine Funktion. Nebenbei entfällt das Risiko nicht synchronisierter ListBoxen. Den Einbau in ein HTML-Tag würde ich auch nicht unbedingt mit der Übersetzung short -> long in einen Topf werfen.

Delphi-Quellcode:
var
  dict: TStrings;
  sFont, shortName, s: string;

begin
  // ...
  shortName := 'RTFM';
  dict.Values[shortName] := 'read the fabulous manual';
  s := dict.Values[shortName];
  // ...
end;

function LongName(const shortName: string; sShort, sLong: TStrings): string;
var
  i: Integer;
begin
  i := sLong.IndexOf(shortName);
  if (i > -1) and (i < sLong.Count)
    then Result := sLong[i]
    else Result := shortName;
end;

begin
  sFont := Format('<font title="%s">%s</font>', [LongName(shortName), shortName]);
end;
Getippt und nicht getestet.

Grüße vom marabu
  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 00:03 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