AGB  ·  Datenschutz  ·  Impressum  







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

String zu Funktion

Ein Thema von Sämy · begonnen am 30. Jan 2008 · letzter Beitrag vom 21. Feb 2008
Antwort Antwort
Seite 2 von 2     12   
Sämy

Registriert seit: 4. Nov 2004
Ort: Basel (CH)
76 Beiträge
 
Delphi 2007 Professional
 
#11

Re: String zu Funktion

  Alt 30. Jan 2008, 14:23
Hmmmm... So geht es.
Aber gibt es keine andere möglichkeit, bei der die funktion nicht published sein muss. ich will nämlich den zugriff auf die funktion direkt über die konkrete klasse verbieten. nur ein zugriff über das interface soll erlaubt sein...
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.195 Beiträge
 
Delphi 10.4 Sydney
 
#12

Re: String zu Funktion

  Alt 30. Jan 2008, 14:48
Zitat von Sämy:
nur ein zugriff über das interface soll erlaubt sein...
hab ich doch schon angemerkt: IDispatch und über die beiden Methoden GetIDsOfNames und Invoke wäre sowas möglich. Diese Methoden verwendet auch Delphi bei Verwendung von (Ole)Variant und später bindung. VBS würde es ohne dieses Interface gar nicht geben.

Aber die Materie ist nicht gerade sehr einfach ....

Obige beiden Namen und DISPPARAMS sollten dir einige Beispiele liefern wenn du danach googelst.
Im Entwickler-Forum findest du bei DISPPARAMS auch 2-3 Beispiele.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#13

Re: String zu Funktion

  Alt 21. Feb 2008, 20:37
Ich hab dasselbe Problem:
EqualSid erfordert eine intern Klasse, in COM ist es jedoch ein Interface.

Die untere Variante funktioniert zwar. Aber ich denke nur mit der InProc Variante.
Was mache ich aber bei OutProc oder bei Interface Zeigern in verschiedenen Apartments?


Delphi-Quellcode:
ISid = interface
...
  hidden function GetInternalSid : PChar; safecall;
...
end;

TISidImp = class(...,ISid)
private
  fInternalSid : TJwSid;
...
public
   function TISidImp.EqualSid(const Sid : ISid) : Boolean; safecall;
   function TISidImp.GetInternalSid : PChar; safecall;

function TISidImp.EqualSid(const Sid : ISid) : Boolean
begin
  result := fInternalSid.EqualSid(Sid ???);
end;

//Einführung diser Funktion...

function TISidImp.GetInternalSid : PChar;
begin
  result := fInternalSid;
end;

//...ermöglicht:

function TISidImp.EqualSid(const Sid : ISid) : Boolean
begin
  result := fInternalSid.EqualSid(TJwSid(Sid.GetInternalSid));
end;
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 05:40 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