Einzelnen Beitrag anzeigen

Benutzerbild von Aphton
Aphton

Registriert seit: 31. Mai 2009
1.198 Beiträge
 
Turbo Delphi für Win32
 
#3

AW: Can not find unit ShellAPI

  Alt 30. Nov 2013, 18:18
Falls du ein kompletter Neuling bist, dürfte die vorige Erklärung nicht allzu verständlich sein:

Eine API ist eine Schnittstelle.. Du kannst sie einfach als eine Funktion sehen, die von einem bestimmten System (in dem Fall Betriebssystem) bereitgestellt wird

Platformunabhängig:
Jedes System ist eigenartig - das Ausführen von Programmen in System A kann sich von System B unterscheiden (und das ist eig. meist immer der Fall bei APIs).
ShellExecute ist eine Windows API (funktioniert nur unter "Windows"). Lazarus setzt aber auf platformunabhängige Lösung - sie verwendet kein ShellExecute.
Ich weiß nicht, wie die äquivalenten APIs für andere Systeme heißen, aber die müsstest du verwenden, falls du für ein spezielles System entwickelst.

Ich glaub, dass es bei Lazarus so ist, dass da einfach eine Schicht drüber gepackt wird - apiA (System A), apiB (System B), apiC (System C), ..
es wird eine eigene Funktion geschrieben, nennen wirs es X, die dann zur Compilezeit rausfindet, auf welchem bzw. für welches System kompiliert wird und dann die richtige api drinnen ausführt (also entweder apiA oder apiB oder ..)
Du rufst dann im Grunde nur X auf. Lazarus kümmert sich um den Rest!

<Edit>
Recherchiere, was nun X in diesem Fall ist
</Edit>
Sollte verständlicher sein xD
das Erkennen beginnt, wenn der Erkennende vom zu Erkennenden Abstand nimmt
MfG
  Mit Zitat antworten Zitat