![]() |
Poniter einer procedure übergeben
Hallo,
wie kann ich in Delphi den Pointer einer Procedure übergeben? MFG Christian18 |
Re: Poniter einer procedure übergeben
Den Pointer einer Prozedur übergeben? Was meinst du? Als Parameter? Einen Pointer, einen Zeiger oder einen Prozedurzeiger?
|
Re: Poniter einer procedure übergeben
ich habe eine funktion, der ich eine procedure übergeben soll.
[Pascal Fehler] Unit1.pas(46): E2010 Inkompatible Typen: 'Pointer' und 'procedure, untyped pointer or untyped parameter' |
Re: Poniter einer procedure übergeben
Meine Glaskugel ist gerade so vernebelt.
|
Re: Poniter einer procedure übergeben
Wie sieht die Signatur der Funktion aus?
|
Re: Poniter einer procedure übergeben
So etwas wie Sort(@SortFunc)?
|
Re: Poniter einer procedure übergeben
Hallo,
ich habe eine kleine Procedure geschrieben, die ich in einem Thread ausführen möchte. Diese procedure greift aber auf Formular elemente zu. wie kann ich das realisieren?
Delphi-Quellcode:
procedure TFMain.Button1Click(Sender: TObject);
var id : Integer; begin CreateThread(nil, 0, Import, nil, 0, id) end; |
Re: Poniter einer procedure übergeben
Delphi-Quellcode:
procedure miep(i: LongInt);
begin writeln(i); readln; end; type Tmiep = procedure(i: LongInt); procedure test(m: Tmiep); begin m(1); end; begin test(@miep); end. //edit teste mal folgendes: function Import(p: pointer): longint); .. CreateThread(nil, 0, @Import, nil, 0, id) |
Re: Poniter einer procedure übergeben
Delphi-Quellcode:
Aber benutze besser BeginThread. Macht fast dasselbe + den Speichermanager auf Multithreading vorzubereiten.
CreateThread(nil, 0, @Import, nil, 0, id)
Und muss ID nicht cardinal sein? |
Re: Poniter einer procedure übergeben
Es kann aber mit der Aufrufkonvention haken. BeginThread erwartet Register, CreateThread stdcall.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz