AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Ermitteln ob ein Objekt (anh. "name"-Eigenschaft) existiert?
Thema durchsuchen
Ansicht
Themen-Optionen

Ermitteln ob ein Objekt (anh. "name"-Eigenschaft) existiert?

Ein Thema von little-x · begonnen am 1. Jun 2007 · letzter Beitrag vom 1. Jun 2007
Antwort Antwort
little-x

Registriert seit: 13. Apr 2007
Ort: Brandenburg
60 Beiträge
 
Delphi 6 Enterprise
 
#1

Ermitteln ob ein Objekt (anh. "name"-Eigenschaft)

  Alt 1. Jun 2007, 12:21
Hallo,

ich möchte bei Bedarf ein Datenbank-Objekt (Klasse TDatabase) instanziieren, dynamisch weil ich es nicht immer sicher benötige. Im Falle der Notwendigkeit möchte ich es kreieren , in etwa mit:

   MyDatabaseObjectName:= TDatabase.Create(Application); Das ganze möchte ich aber nur dann machen, wenn es innerhalb Application noch KEIN TDatabase-Objekt mit dem Namen MyDatabaseObjectName gibt. Die Frage ist, wie ich genau das feststelle.

Ich wüßte mir nicht anders zu helfen als so:
Delphi-Quellcode:
function existiert_datenbank_schon: boolean;
var intv: integer;
    retv: boolean;
begin
     i:= 0;
     retv:= false;
     while (i < Application.ComponentCount) and (not retv) do
     begin
         if Application.Components[i] is TDatabase then
             if TDatabase.Components[i].name = 'MyDatabaseObjectNamethen
                  retv:= true;
         inc(i);
end;
Aber das jedes mal? Geht das nicht "direkter"? Ich denke Delphi ist so objektorientiert, dann muss man doch fragen können ob es ein gewisses Objekt gibt oder nicht.

Viele Grüße!
manchmal machts mich mürbe
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Ermitteln ob ein Objekt (anh. "name"-Eigenscha

  Alt 1. Jun 2007, 12:22
oder .FindComponent()
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.350 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Ermitteln ob ein Objekt (anh. "name"-Eigenscha

  Alt 1. Jun 2007, 12:39
Hi,

ich benutze meis folgenden Weg:
Delphi-Quellcode:
interface

uses DBTables;

type
  TMyDataBasObject = class(TDataBase)
  private
  end;

function MyDataBaseObject: TMyDataBasObject;

implementation

Var
  FMyDataBaseObject: TMyDataBasObject = nil;

function MyDataBaseObject: TMyDataBasObject;
begin
  if (FMyDataBaseObject = nil) then
  begin
    FMyDataBaseObject := TMyDataBasObject.Create(nil);
    // oder so, dann kann finalization entfallen
    // FMyDataBaseObject := TMyDataBasObject.Create(Application);
  end;
  Result := FMyDataBaseObject;
  // TODO -cMM: TMyDataBasObject.MyDataBaseObject default body inserted
end;

initialization

finalization
  if Assigned(FMyDataBaseObject) then
    FMyDataBaseObject.Free;

end.
Öffentlich ist nur die function MyDataBaseObject.
Damit wird das Objekt automatisch erzeugt, wenn ich es darüber anspreche.

Cu, Frank
[EDIT] Code war fehlerhaft...[/EDIT]
Frank Reim
  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 01:56 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