AGB  ·  Datenschutz  ·  Impressum  







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

Frage zum casten

Ein Thema von der-C · begonnen am 15. Apr 2005 · letzter Beitrag vom 15. Apr 2005
Antwort Antwort
der-C

Registriert seit: 29. Okt 2004
68 Beiträge
 
Delphi 6 Professional
 
#1

Frage zum casten

  Alt 15. Apr 2005, 10:25
1.)wenn ich eine Variable zu TObject caste und dann einer TObject Variable zuweise, muss ich diese erst Createn?

2.) wenn ich den oben beschriebenen Cast mache, was steht dann in der TObject Variablen? Der Wert oder Ein Zeiger auf die umgecastete variable?

3.) kann ich String zu TObject casten? (getestet hab ich das schon, es geht, aber String hat doch nicht wirklich was mit TObject zu tun, oder?)

4.)ich habe eine Function die mehrere Komponenten ausliest und den Wert zurückgibt. Die Datentypen welche die Funktion ausliesst (und zurückgibt) sind (momentan) TMemoryStream und String. Ich hab mir gedacht ich caste alles als TObject und gebs zurück, nur macht das bei Strings in verbindung mit TMemoryStrem Probleme (RichEdit). Gibt es bessere Varianten?
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: Frage zum casten

  Alt 15. Apr 2005, 10:31
1) Nein, da es nur zeiger sind.
2) siehe erstens
3) theoretisch ja, da es nur Pointer sind. Praktisch nein, da Strings intern anders aufgebaut als Objekte und du damit auch keine Chance der Prüfungen mit is und as hast.
4) Es gibt auch einen TStringStream oder so, den du für die Strings nutzen kannst. Als Rückgabewert hast du dann immer TStream.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
der-C

Registriert seit: 29. Okt 2004
68 Beiträge
 
Delphi 6 Professional
 
#3

Re: Frage zum casten

  Alt 15. Apr 2005, 10:41
also die Memberfunktion liest ja z.B. TImage, TEdit, TCombo, TRichEit aus, jetzt brauch ich irgenteinen Datentyp womit ich das zurückgebe.
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#4

Re: Frage zum casten

  Alt 15. Apr 2005, 11:47
Wenn es alles sichtbare Windows-Elemente sind dann eventuell TComponent, TControl oder TWinControl.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
generic

Registriert seit: 24. Mär 2004
Ort: bei Hannover
2.415 Beiträge
 
Delphi XE5 Professional
 
#5

Re: Frage zum casten

  Alt 15. Apr 2005, 13:23
1) kannst du machen du sagt nur das ein zeigern dann vom typ tobject ist. allerding wir es schutzverletzungen geben da eine var kein obj ist und z.b. keine eigenschaft "classname" hat.

2) der zeiger zeigt auf ein ungültiges object. bei zugriff schutzverletzung

3) ja, aber s.h. 2.

4) ja es gibt besser varianten, du kann z.b. ein designpattern nehmen. es biete sich hier ein proxy an.
in verbindung mit "jim_raynor" antwort (tstream) und den proxy hast du dann eine schöne lösung.
  Mit Zitat antworten Zitat
der-C

Registriert seit: 29. Okt 2004
68 Beiträge
 
Delphi 6 Professional
 
#6

Re: Frage zum casten

  Alt 15. Apr 2005, 15:06
hab mich etwas falsch ausgetrückt
ich muss von den oben genannten Datentypen die Werte(z.B. Bilder,Text) auslesen und in eine Datenbank speichern.
Wenn ich die Strings aus den Edit, Combobox, Richedit -Feldern immer in Stream speichern kann, werde ich wohl diese Variante verwenden.
Nur muss ich dann immer Blobfelder in der DB verwenden, statt varchar für text und blob für Bilder

ich muss aus einem Feld von komponenten (sichtbar) die werte in irgentein gemeinsamen DatenTyp bringen um sie dann als Feld an die Funktion übergeben kann welche diese dann in der DB speichert. Hat da jemand ne Idee zu?

@generic
Was ist ein proxy?
  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 15:55 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