Entwickler-Ecke

Sonstiges (Delphi) - Was bedeutet dieser Fehler????


JacFab - Fr 11.10.02 19:08
Titel: Was bedeutet dieser Fehler????
Unit 'ShellCtrls' ist plattformspezifisch

ich werd noch mal verrückt damit!
kann mir einer von euch sagen, was der fehler bedeutet?


Ex0rzist - Fr 11.10.02 19:42

Auf Anhieb würde ich sagen, dass diese Unit eine gewisse Plattform voraussetzt(Windows,Linux, Unix ...).

Genaueres kann ich dir leider auch nicht sagen. :?


Delete - Fr 11.10.02 20:17

Du benutzt Delphi6 oder so, kann das sein?

Das heißt wenn du das Programm mit Kylix kompilierst, wirst du Probleme bekommen. So lange du nur für Windows entwickelst, solltest du dich an der Warnung nicht stören, denke ich.


JacFab - Fr 11.10.02 22:15

ne, normalerweise hätte ich mich daran auch nicht gestört, nur leider verhindert diese warnung das compilieren!


Wiesenbiber - Fr 11.10.02 22:28
Titel: 'ShellCtrls'
Hi,

für was brauchst du denn 'ShellCtrls'? Was willst du denn machen?


JacFab - Fr 11.10.02 23:39

Ich starte damit andere Programme


Wiesenbiber - Fr 11.10.02 23:42
Titel: Mögliche Lösung
Hi,

also wenn du ShellExecute benutzt, dann versuch es mal mit ShellAPI, statt ShellCtrls.


Klabautermann - Fr 11.10.02 23:58

Hallo,

ich bekomme die Meldung zwar auch, eine Kompilierung wird dabei aber nicht verhindert (Hätte mich auch gewundert bei einer Warnung).

Die Delphi Hilfe sagt zu dem Fehler folgendes:
Delphi-Hilfe hat folgendes geschrieben:
Die gesamte Unit ist (mit der Hinweisdirektive platform) als eine gekennzeichnet, die Inhalte enthält, die nicht auf allen Plattformen verfügbar sind. Wenn Sie plattformübergreifende Anwendungen erstellen, kann dies zu Problemen führen. Beispielsweise wird platform bei Units mit Objekten angegeben, die in OleAuto definiert sind.

Mit der Compiler-Direktive $WARN UNIT_PLATFORM ON/OFF können alle derartigen Warnungen für Units aktiviert oder deaktiviert werden.


Wenn du einen Blick in die Unit wirfst fällt als erstes diese Zeile auf:

Quelltext
1:
unit ShellCtrls platform;                    

Das Schüsselwort Platform gibt also an, dass die Unit Platformabhängig ist (das sollten wir uns doch für Zukümpftige Units merken).
Ein paar Zeilen durnter ist folgendes zu entdecken:

Quelltext
1:
2:
uses
  Windows, [...]

Damit sollte dann auch feststehen, dass die Unit mit sicherheit nicht unter Kylix läuft.

Gruß
Klabautermann


JacFab - Sa 12.10.02 00:13

Ich hab auch grade festgestellt, dass das compilieren nicht durch diese warnung sondern wegen einem anderen fehler nicht funktioniert hat!
tut mir leid für den fehlalarm ;)