![]() |
Delphi Code Umbauen
Hallo
Ich habe da mal ne Frage, im Moment habe ich folgenden Code..
Delphi-Quellcode:
und folgenden Code auch noch//-------------------------------------------------------------------------- // User 1 //-------------------------------------------------------------------------- try JvMemo1.Lines.Add('Recording User Anmeldung läuft'); JvMemo1.Refresh; Randomize; v7Session1.Logon(frmUser.Edit4.Text,frmUser.Edit1.Text,frmUser.Edit3.Text,StrToInt(frmUser.Edit2.Text),tvApplicationTypeClient,32100,tvServerConnectionLevelFull,FALSE,tvStationUsageOwner); oCallFolder1 := v7Session1.GetDefaultFolder(tvFolderCalls); oCallItems1 := oCallFolder1.Items; oSystemTargetFolder1 := v7Session1.GetDefaultFolder(tvFolderSystemTarget); oTarget1 := _SystemTarget(oSystemTargetFolder1.Items.Item(frmUser.Edit1.Text,tvSearchkey)); V7Session1.OnCallStatusChange := V7Session1CallStatusChange; sOwnerName1 := oCallFolder1.Name; JvMemo1.Lines.Add('Recording User wurde angemeldet'); JvMemo1.Refresh; except //bFehler := True; JvMemo1.Lines.Add('Fehler bei der Anmeldung von Recordinguser'); forms.Application.Terminate; //frmSetup.ShowModal; end;
Delphi-Quellcode:
da ich das aber nun sehr oft brauche wollte ich das in Funktionen und Prozeduren umbauen und mit Arrays arbeiten (wenn das geht ?)procedure TfrmMain.v7Session1CallStatusChange(ASender: TObject; const ID: WideString; Status, OldStatus: TOleEnum); begin //-------------------------------------------------------------------------- // ID des Calls zuweisen //-------------------------------------------------------------------------- oCurrentCall1 := _Call(v7Session1.GetItem(ID,'')); sHistoryCall1 := oCurrentCall1.CallHistoryID; sCallID1 := ID; //-------------------------------------------------------------------------- // Satus des Anrufes auswerten und darauf reagieren //-------------------------------------------------------------------------- case Status of tvPartyStatusUnknown: JvMemo1.Lines.Add('unknown ' + sUser1Name); tvPartyStatusNone: JvMemo1.Lines.Add('none ' + sUser1Name); tvPartyStatusActive: begin JvMemo1.Lines.Add('ringing ' + sUser1Name); // usw...... Dabei habe ich folgendes gemacht
Delphi-Quellcode:
Nun bekomme ich bei der markierten Zeile einen Fehler, wie muss ich es Umbauen das es geht?function LogOn(const sServer: string;const sUser, sPass, sID: string;var iCount:integer): boolean; var v7Session : Array[0..5] of Tv7Session; begin v7Session[1] := Tv7Session.Create(Application); v7Session[1].Logon(sServer,sUser,sPass,StrToInt(sID),tvApplicationTypeClient,32100,tvServerConnectionLevelFull,FALSE,tvStationUsageOwner); oCallFolder[1] := v7Session[1].GetDefaultFolder(tvFolderCalls); oCallItems[1] := oCallFolder[1].Items; oSystemTargetFolder[1] := v7Session[1].GetDefaultFolder(tvFolderSystemTarget); oTarget[1] := _SystemTarget(oSystemTargetFolder[1].Items.Item(sUser,tvSearchkey)); // diese zeile geht nicht warum bzw wie muss ich es machen ??? V7Session[1].OnCallStatusChange := V7Session[1]CallStatusChange; sOwnerName[1] := oCallFolder[1].Name; end; procedure TfrmMain.v7Session[1]CallStatusChange(ASender: TObject; const ID: WideString; Status, OldStatus: TOleEnum); begin end; [Fehler] Main.pas(110): ';' erwartet, aber '[' gefunden [Fehler] Main.pas(110): '=' erwartet, aber ';' gefunden [Fehler] Main.pas(127): Inkompatible Typen: 'Tv7Session[1]CallStatusChange' und 'Tv7Session' usw... Martin |
Re: Delphi Code Umbauen
Und der genaue Fehler ist wohl geheim :gruebel:
|
Re: Delphi Code Umbauen
Delphi-Quellcode:
V7Session[1].OnCallStatusChange := V7Session1CallStatusChange;
|
Re: Delphi Code Umbauen
Sorry war noch nicht ganz fertig :-)
|
Re: Delphi Code Umbauen
Zitat:
Wa sich nicht raffe: In der Funktion LogOn hast du ein lokales Array, arbeitest aber nur mit dem index 1, solte der Index nicht als Parameter übergeben werden - oder ist das noch nicht ganz fertig? |
Re: Delphi Code Umbauen
Zitat:
Martin |
Re: Delphi Code Umbauen
Im Parameter Sender befindet sich eine Referenz des auslösenden Objekts
|
Re: Delphi Code Umbauen
wäre es möglich das etwas mehr zu Umschreiben, vielleicht auch mit ein paar Codezeilen!
Wäre sehr nett. Gruss Martin |
Re: Delphi Code Umbauen
Anstatt
Delphi-Quellcode:
schreibst du
oCurrentCall1 := _Call(v7Session1.GetItem(ID,''));
Delphi-Quellcode:
if Sender is Tv7Session then // Überprügung, ob Sender vom Typ Tv7Session
oCurrentCall1 := _Call(Tv7Session(Sender).GetItem(ID,'')); |
Re: Delphi Code Umbauen
Danke erst mal, werde ich versuchen
Martin |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 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-2025 by Thomas Breitkreuz