AGB  ·  Datenschutz  ·  Impressum  







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

Einem record eine procedure zuweisen?

Ein Thema von Tau · begonnen am 14. Feb 2006 · letzter Beitrag vom 15. Feb 2006
Antwort Antwort
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#1

Einem record eine procedure zuweisen?

  Alt 14. Feb 2006, 22:07
Hallo Leute

hoffe ich habe die richtige Rubrik gewählt: -D

Ich habe einen Record dem ich eine Procedur zuweisen will.
Und auch die Procedure wieder ausführen lasen will.

Delphi-Quellcode:
 TMyRec = record
    NoEvent: Boolean;
    MyProce: ???????;
   end;
Procedure:
Delphi-Quellcode:
procedure DBSort(DataSet: TADOQuery);
begin
...
end;
jetzt meine Frage
1) wie muss ich die Deklaration vom Record machen.
2) und wie kann ich die Procedur wieder aufrufen?

hat jemand einen Tipp.

Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#2

Re: Einem record eine procedure zuweisen?

  Alt 14. Feb 2006, 22:09
mit eine record geht es glaub ich nicht nim lieber ein TObject
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

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

Re: Einem record eine procedure zuweisen?

  Alt 14. Feb 2006, 22:16
Moin Tau,

hier mal ein kleines Beispiel:

Delphi-Quellcode:
type
  TMyProc = procedure(parameter : integer);

  TMyRecord = record
    proc : TMyProc;
  end;

procedure PrintInt(AiValue : integer);
begin
  ShowMessage(IntToStr(AiValue));
end;

procedure TForm1.FormCreate(Sender: TObject);

var
  mr : TMyRecord;

begin
  mr.proc := PrintInt;
  mr.proc(1);
end;
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
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Einem record eine procedure zuweisen?

  Alt 14. Feb 2006, 22:22
Aber wären dazu nicht Klassen besser geeignet?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Einem record eine procedure zuweisen?

  Alt 14. Feb 2006, 22:48
Hallo Leute

@arbu man
danke für den Tipp, aber hättest du dafür ein Beispiel?


@Christian Seehase
schaut ganz gut aus das ganze hat leider nur einen kleinen Haken.
wenn ich dir procedure unter public deklariere bekomme ich leider einen Fehler
(Inkompatible Typen: Reguläre Procedure und Methodenzeiger).
ansonsten schaut die Sache ziemlich gut aus.

@Luckie
hättest du auch vielleicht ein Beispiel?

ich lerne gerne immer was dazu.

Ich finde dieses Forum einfach nur super.

Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
Benutzerbild von JasonDX
JasonDX
(CodeLib-Manager)

Registriert seit: 5. Aug 2004
Ort: München
1.062 Beiträge
 
#6

Re: Einem record eine procedure zuweisen?

  Alt 14. Feb 2006, 23:00
Zitat von Tau:
schaut ganz gut aus das ganze hat leider nur einen kleinen Haken.
wenn ich dir procedure unter public deklariere bekomme ich leider einen Fehler
(Inkompatible Typen: Reguläre Procedure und Methodenzeiger).
ansonsten schaut die Sache ziemlich gut aus.
Das liegt wahrscheinlich daran, dass Prozedur <> Methode ist. Die Methode hat noch einen zusätzlichen, versteckten Parameter, nämlich den Instanz-Zeiger. Damit du eine Methode zuweisen kannst, einfach nur den Typen um ein kleines Stichwort erweitern:
TMyMethod = procedure(parameter : integer) of object; Zu OOP, also dem, was dir Luckie vorgeschlagen hat (und arbu man wahrscheinlich auch gemeint hat), gibt es massenweise Tutorials, die dir gut weiterhelfen werden. In der DP dürften welche rumliegen, im DSDT dürften afair auch welche schlummern, und spätestens Tante Google wird dir da gut weiterhelfen

greetz
Mike
Mike
Passion is no replacement for reason
  Mit Zitat antworten Zitat
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: Einem record eine procedure zuweisen?

  Alt 14. Feb 2006, 23:07
@JasonDX

besten Danke für die schnelle Hilfe.

Bast sitzt woklt und hot Luft

Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#8

Re: Einem record eine procedure zuweisen?

  Alt 15. Feb 2006, 06:43
Zitat von Tau:
@Luckie
hättest du auch vielleicht ein Beispiel?
Klar: http://www.michael-puff.de/dirindex....phi/Tutorials/

Ich meine genau das macht doch eine Klasse aus, dass sie auch Methoden mitbringt, mit denen man die Daten der Klasse manipulieren kann.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
15. Feb 2006, 07:07
Dieses Thema wurde von "MrSpock" von "VCL / WinForms / Controls" nach "Object-Pascal / Delphi-Language" verschoben.
Ist eher eine Sprachenfähigkeitsfrage.
Tau

Registriert seit: 17. Mär 2003
Ort: Bludenz
221 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Einem record eine procedure zuweisen?

  Alt 15. Feb 2006, 18:40
Hallo Luckie

Danke für den Link. Werde mir die Tutorials gleich einmal zu gemühte führen.
Ist wieder mal Nahrung für die Grauen Zellen. Man verkalkt jahr viell zu schnell.


Tau
http://www.quad-offroad.com
wer kämpft kann verlieren aber wer nicht kämpft hat verloren
( Delphi 7 )
  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 17:54 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