AGB  ·  Datenschutz  ·  Impressum  







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

Prozedur aufrufen

Offene Frage von "hboy"
Ein Thema von hboy · begonnen am 16. Apr 2004 · letzter Beitrag vom 22. Apr 2004
Antwort Antwort
Seite 2 von 3     12 3      
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#11

Re: Prozedur aufrufen

  Alt 18. Apr 2004, 12:44
Moin HBoy,

was gefällt Dir denn an Tryers bzw. Maximovs Variante nicht?
Funktioniert doch.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#12

Re: Prozedur aufrufen

  Alt 18. Apr 2004, 12:54
ich will die parameter allgemein halten. Deswegen kann ich keine Typen definiern
Power is nothing without TControl
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Prozedur aufrufen

  Alt 18. Apr 2004, 13:01
Moin HBoy,

dann schau Dir mal in der Hilfe "Variante offene Array-Parameter" an, falls die Parameter einen unterschiedlichen Typ haben können, oder aber "Offene Array-Parameter" falls der Typ immer gleich ist.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#14

Re: Prozedur aufrufen

  Alt 18. Apr 2004, 13:07
Danke für deine Antwort aber das ist nicht mehr das Problem. mittlerweile kann ich die parameter in einer array vom typ TVarRec ( ja glaub so hießt der ) speichern. Das ist der Typ den Delphi für Const einsetzt. Array of const = array of TVarRec.

Mein problem ist jetzt nur wie ich die Prozedur aufrufen kann und ihr die Array übergeb.
Kann ich vielleicht einen Prozedurtyp
procedure fitsall( Array of TVarRec) of object bauen ?
Power is nothing without TControl
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#15

Re: Prozedur aufrufen

  Alt 19. Apr 2004, 18:28
Ich hab das jetzt so:


Delphi-Quellcode:
  type UniProc = procedure(const params: Array of const );


  procedure CallProc( procptr: Pointer; const paramlist: Array of const);
  var
    x: UniProc;
  begin
    x := procptr;
    x(paramlist);
  end;
allerdings bekomme ich die Parameter nicht korrekt zurück. Geladen werden sie so:

Delphi-Quellcode:
 procedure SetTimeout(proc: Pointer;const params: Array of const; msecs: longword);
 var i: integer;
 begin
   setlength(jobs,length(jobs)+1);
   jobs[high(jobs)].proc := proc;

   setlength(jobs[high(jobs)].params,length(params));
   for i :=0 to high(params) do
   begin
     jobs[high(jobs)].params[i] := params[i];
   end;

   jobs[high(jobs)].launchtime := gettickcount+msecs;
 end;
Power is nothing without TControl
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#16

Re: Prozedur aufrufen

  Alt 19. Apr 2004, 18:34
Weiß jemand wieso das nicht tut ?
Power is nothing without TControl
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#17

Re: Prozedur aufrufen

  Alt 19. Apr 2004, 18:45
kleines Textbeispiel:

procedure setformtitle(x: integer);
begin
form1.caption := inttostr(x);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
SetTimeout(@setformtitle,[23],1000);
end;

damit müsste nach 1 sekunde "23" dranstehn, anstelle dessen kommt aber 23409217 oder eine anderer nicht initialisierter Wert

Jemand ne Ahnung warum ? muss ich für den typ TVarRec erst den Speicher reservieren ?
Power is nothing without TControl
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#18

Re: Prozedur aufrufen

  Alt 20. Apr 2004, 20:38
*nochmal auf mein problem hinweis* weißes niemand ?
Power is nothing without TControl
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Prozedur aufrufen

  Alt 20. Apr 2004, 21:11
Moin hboy,

wie sieht die Deklaration von "Jobs" aus?
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
hboy

Registriert seit: 16. Jan 2004
364 Beiträge
 
#20

Re: Prozedur aufrufen

  Alt 20. Apr 2004, 22:37
Delphi-Quellcode:
  type queuejob = record
    proc: Pointer;
    params: Array of TVarRec;
    launchtime: longword;
    processed: boolean;
  end;

  var
    obj: TTimeout;
    jobs: Array of queuejob;
könnte vielleicht an der dny. Array liegen
Power is nothing without TControl
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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:49 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