Entwickler-Ecke

Sonstiges (Delphi) - Call Function


DieRuekkehr - Mi 02.02.05 13:15
Titel: Call Function
kann mal jemand die fehler rausmachen , bin neu in delphi, war vb coder!!


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
type
 TArrc = array[0..5of byte;

procedure .....
var
 p1 : ^TArrc;
 p2 : ^TArrc;
 p3,p4,p5 : ^integer;
begin
 p3:=Pointer(700+integer(uvbasep));
 p4:=pointer(integer(p3)+$2FC);
 p4:=pointer(p4^+$88´);  
 p1:=pointer(p4^+$18 );
 p1^[0]:=IconID;
 p5:=pointer(Call2);
 asm
   push edx
   mov edx,p4
   mov edx,[edx]
   mov eax,p3
   mov eax,[eax+$304]
   call Call2
   pop edx
 end;
end;


Moderiert von user profile iconMotzi: Delphi-Tags hinzugefügt.
Moderiert von user profile iconChristian S.: Topic aus Dateizugriff verschoben am Mi 02.02.2005 um 12:29


IngoD7 - Mi 02.02.05 13:46

Bist du sicher, dass du Pointer benutzen musst?
Wenn nein, lass sie weg und löse es anders.

Und wenn dann Fehler drin sind, sage wenigstens, wie und wo die sich bemerkbar machen.


BenBE - Mi 02.02.05 13:48

Weiterhin: Was macht Call2, wie ist es deklariert? Wozu machst Du das per ASM?

Ansosten: Der Hinweis mit den Pointern ist korrekt.


DieRuekkehr - Mi 02.02.05 13:50

also ich versuche mal was zu beschreiben!

Also es geht um einer active x (VoiceChatClient) da sind smiles die man manuell aussuchen muss,ich möchte das über diesen code machen,direkte asm calls machen!

glaube die pointers sind wichtig,weil die pointers sind die smiles!!


ein Freund hat es hingekriegt,hats mir aber nicht genauere beschrieben ,sondern mir einfach diesen code gegeben!
ist aber ein bug drin deshalb bitte ich um eure hilfe!

Danke im Voraus!


uall@ogc - Mi 02.02.05 13:59

würde jsa gen da ist ein '´' zu viel ;>

also 1. kan nman eh nicht sagen was falsch ist, weil es kompilier bar sein sollte und man eh nicht weiß was du da ausließt
also kann man dir nicht helfen wenn du
a) keine fehlermeldung bekommst -> sind die adressen falsch
b) wenn du eine bekommst sie aber hier nicht postest


DieRuekkehr - Mi 02.02.05 14:04

fehlermeldung

Erzeugen
[Fehler] Unit1.pas(137): Anweisung erwartet, aber 'TYPE' gefunden
[Fehler] Unit1.pas(140): Bezeichner erwartet, aber '..' gefunden
[Fehler] Unit1.pas(146): Undefinierter Bezeichner: 'uvbasep'
[Fehler] Unit1.pas(150): Undefinierter Bezeichner: 'IconID'
[Fehler] Unit1.pas(151): Undefinierter Bezeichner: 'Call2'
[Fataler Fehler] Project1.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden


IngoD7 - Mi 02.02.05 14:34

Kann es sein, dass dir jegliche Grundlagen fehlen? Dann hast du dich definitv übernommen.

Ansonsten beschäftige dich mal in der Online-Hilfe mit dem grundsätzlichen Aufbau von Units, z.B. Typ- und Variablendeklarationen und dergleichen. Die Fehler weisen darauf hin, dass solche Sachen fehlen.

Ein Codeschnipsel von einem Kumpel kann man seltenst einfach so reinkopieren.


uall@ogc - Mi 02.02.05 14:56

DieRuekkehr bleibt lieber bei VB oder lern erstmal delphi bevor du zu inline assembler über gehst DANKE!


DieRuekkehr - Mi 02.02.05 15:02

werd ich mal mache!

kriege ich links wo ich die ganze geschichte mit delphi lernen kann?


F34r0fTh3D4rk - Mi 02.02.05 15:03

hier auf der hp unter tutorials sind auch welche für beginner dabei und du kannst dazu dann auch direkt fragen stellen