AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi inkompatible Typen owohl gleicher Strukturaufbau
Thema durchsuchen
Ansicht
Themen-Optionen

inkompatible Typen owohl gleicher Strukturaufbau

Ein Thema von FuerstM · begonnen am 7. Dez 2005 · letzter Beitrag vom 7. Dez 2005
Antwort Antwort
FuerstM

Registriert seit: 17. Aug 2004
5 Beiträge
 
#1

inkompatible Typen owohl gleicher Strukturaufbau

  Alt 7. Dez 2005, 13:56
Hi
ich verwende in meinem Programm 2Module, die jeweils ein Record mit gleicher struktur und gleichem Namen definieren (ich will an den beiden Modulen nichts ändern, da sie auch standalone wo eingebunden werden sollen).

Delphi-Quellcode:
unit1:
type
  TPoint2D = record
    x,y:double;
  end;

var Pkt1: TPoint2D;

unit2:
type
  TPoint2D = record
    x,y:double;
  end;
var Pkt2: TPoint2D;
in meinem Programm (unit3) will ich folgende Zuweisung machen

Pkt1:=Pkt2

nur schreit der Compiler dann:
Inkompatible Typen: unit1.TPoint2D und unit2.TPoint2D;

Das Verstehe ich nicht ganz. Es funktioniert zwar, wenn ich Pkt2 auf unit1.TPoint2D caste, aber das ist etwas mühsam. Habe ich da einen Denkfehler oder geht das wirklich nicht.

Danke für eure Kommentare
lg
Martin
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: inkompatible Typen owohl gleicher Strukturaufbau

  Alt 7. Dez 2005, 14:01
Auch wenn die Typen den gleichen Aufbau haben, sind es zwei verschiedene Typen.

Die Lösung: Den Typen nur in einer Unit deklarieren und in der anderen per uses einbinden.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Der_Unwissende

Registriert seit: 13. Dez 2003
Ort: Berlin
1.756 Beiträge
 
#3

Re: inkompatible Typen owohl gleicher Strukturaufbau

  Alt 7. Dez 2005, 14:03
Hi,
ich glaube das kann Delphi wirklich nicht. Vielleicht ist mir auch nur kein Weg begegnet, aber um nicht ständig zu casten kannst du am einfachsten eine dritte Unit verwenden, die nur Globale Definitionen (oder halt auch Konstanten, etc) enthält und dann diese in beiden Units einbinden.

Ja, wie gesagt, vielleicht gibt es noch ne ganz hübsche (und sinnvolle) andere Lösung.

Gruß Der Unwissende
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#4

Re: inkompatible Typen owohl gleicher Strukturaufbau

  Alt 7. Dez 2005, 14:08
Es waere wirklich schoen wenn die Leute erst mal Pascal lernen wuerden.
Zwei getrennt deklarierte Record-Typen sind nie gleich. Das ist auch der Grund warum man keinen Pointertyp in einem Parameter deklarieren kann
Bei "procedure Blabla(Unsinn: ^Integer);" kann es keinen kompatiblen Typ geben.
  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 04:09 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