Dynamic method call
Hello Gurus,
is there any possibility to write something like this in ABAP ??
CALL METHOD zz_but050=>get_but050
EXPORTING
IF X = 1. i_var_partner1 = l_var_partner1 ENDIF.
IF X = 2. i_var_partner2 = l_var_partner2 ENDIF.
IMPORTING
e_tab_but050 = l_tab_but050
EXCEPTIONS
keine_daten = 1.
Best regards,
Ioan Constantin.
Yes there is. The simplest would be
data: lv_partner type ...
IF X = 1. lv_partner = l_var_partner1 ENDIF.
IF X = 2. lv_partner = l_var_partner2 ENDIF.
CALL METHOD zz_but050=>get_but050
EXPORTING
i_var_partner1 = lv_partner
IMPORTING
e_tab_but050 = l_tab_but050
EXCEPTIONS
keine_daten = 1.
Or you can use dynamic form of CALL METHOD where you pass your parameters by means of PARAMETER-TABLE addition. Please refer [CALL METHOD|http://help.sap.com/abapdocu_70/en/ABAPCALL_METHOD_SHORTREF.htm] -> dynamic form.
Regards
Marcin
Similar Messages
-
Dynamic method calls in bounded task flows?
Hi!
I have the following scenario:
We are developing a framework in which we would include modules as ADF libraries (as JAR files) with bounded task flows. This framework contains a bean class with bindings for some UI components in framework which I enable or disable (depends on user action). That is the main reason bean class should be present in framework application.
I have a bounded task flow in every module which needs to call a method in bean with UI component's bindings that would enable or disable that component.
How can I achieve that? To pass bean as a parameter into bounded task flow and then call its methods? That is dynamic method calls for bean.
I'm using JDeveloper 11.1.2.1.0
Thanks for your help
Regards, MarkoHi,
I explained this; +"I have a bounded task flow in every module which needs to call a method in bean with UI component's bindings that would enable or disable that component. How can I achieve that? To pass bean as a parameter into bounded task flow and then call its methods?"+ a couple of times already (not sure if it was all for you) and don't think I change my position here. I also explained how to use a ValueExpression to lookp a managed bean containing component bindings (should be in requestscope).
Frank -
Type conflict during dynamic method call.
While executing the following program I get the error "Type conflict during dynamic method call.":
DATA: container_r TYPE REF TO object,
grid_r TYPE REF TO object,
itab_saplane TYPE TABLE OF saplane.
* IMPORTANT NOTE: class names must be in UPPER CASE
DATA: str_cnt TYPE seoclsname VALUE 'CL_GUI_CUSTOM_CONTAINER',
str_gui TYPE seoclsname VALUE 'CL_GUI_ALV_GRID',
meth_name TYPE STRING VALUE 'SET_TABLE_FOR_FIRST_DISPLAY'.
TYPE-POOLS abap.
DATA: ptab TYPE abap_parmbind_tab,
wa_ptab LIKE LINE OF ptab,
ref TYPE REF TO data.
CREATE OBJECT container_r TYPE (str_cnt)
EXPORTING container_name = 'CUSTOM_CONTROL1'. " Name of the custom control area (UC!)
* Construct parameter itab
GET REFERENCE OF container_r INTO ref.
wa_ptab-name = 'I_PARENT'. " Must be upper-case
wa_ptab-value = ref.
INSERT wa_ptab INTO TABLE ptab.
* EXPORTING i_parent = container_r.
CREATE OBJECT grid_r TYPE (str_gui)
PARAMETER-TABLE ptab.
SELECT * FROM saplane INTO CORRESPONDING FIELDS OF TABLE itab_saplane.
* Cannot call set_table_for_first_display directly...
CALL METHOD grid_r->(meth_name)
EXPORTING I_STRUCTURE_NAME = 'SAPLANE' " Type of the rows in the internal table (UC!)
CHANGING IT_OUTTAB = itab_saplane. " The internal table itself
CALL SCREEN 100.
Any help would be appreciated!Hi ...
Apologies ... for confusion ... actually both are required ...
the type 'E' as well as CL_GUI_CONTAINER.
The below code worked for me ...
check out how I cast it to the parent class type ...
DATA : lv_container TYPE seoclsname VALUE 'CL_GUI_CUSTOM_CONTAINER',
lv_control TYPE seoclsname VALUE 'CL_GUI_ALV_GRID',
lv_method TYPE string VALUE 'SET_TABLE_FOR_FIRST_DISPLAY',
lt_par_tab TYPE abap_parmbind_tab,
ls_param LIKE LINE OF lt_par_tab,
lref_cont TYPE REF TO cl_gui_container,
lv_data TYPE REF TO data.
CREATE OBJECT lref_container
TYPE
(lv_container)
EXPORTING
container_name = 'ALV_AREA'.
ls_param-name = 'I_PARENT'.
ls_param-kind = 'E'.
lref_cont ?= lref_container.
GET REFERENCE OF lref_cont INTO lv_data.
ls_param-value = lv_data.
INSERT ls_param INTO TABLE lt_par_tab.
** Now create ALV Control.
CREATE OBJECT lref_alv_ctrl
TYPE
(lv_control)
PARAMETER-TABLE
lt_par_tab.
** Set table for 1st display
DATA : lv.
lv = lref_alv_ctrl->mc_fc_print.
CALL METHOD lref_alv_ctrl->(lv_method)
EXPORTING
i_structure_name = 'T001'
CHANGING
it_outtab = lt_company.
Cheers
Edited by: Varun Verma on Aug 12, 2008 4:19 PM -
Dynamic Method call with CHANGING
Hi,
I have the following method call:
CALL METHOD o_salv->DISPLAY_SALV
CHANGING
it_data = it_ekko.
I would like to make this dynamic so that I can call it multiple times from my program with the came set of code.
I have this working for other Method calls, but the use the same parameters on both sides such as:
CALL METHOD o_main->get_date
IMPORTING
it_ekko = it_ekko.
being coded as such:
CALL METHOD o_main->(v_method)
PARAMETER-TABLE
ptab.
Can someone please give me some guidance on how to code the top example dynamically when the 2 variables are different?
Hope that makes sense...thanks for your help!
AndyHello Bjorn
I would suggest the following approach:
(1) Collect all your GUI control instances in an itab whose line type is TYPE REF TO cl_gui_control.
(2) Define your "free" method:
LOOP AT mt_gui_controls INTO lo_gui_control.
* See if gui control was text editor
TRY.
lo_textedit ?= lo_gui_control.
CATCH cx_sy_move_cast_error INTO lo_error.
ENDTRY.
IF ( lo_error IS NOT BOUND ).
lo_textedit->free.
* ... your coding
CONTINUE.
ENDIF.
* See if gui control was tree
TRY.
lo_tree ?= lo_gui_control.
CATCH cx_sy_move_cast_error INTO lo_error.
ENDTRY.
ENDLOOP.
The FREE methods are redefined in the subclasses. However, you could try to call lo_gui_control->free directly because I am not sure if the coding of the superclass or subclass is called (I cannot test this at the moment).
Regards
Uwe -
Working with class based exception and dynamic method calls
Hi Gurus,
we just changed out ERP from EHP6 to EHP7.
Since we did so we are facing an issue with an Z-Report we are using quite often.
This reports looks up Workitems and executes the according methods so that we can go into debugging if we were facing any problems or errors.
since the EHP Upgrade this statement has problems:
data: lt_parmbind type abap_parmbind_tab, lt_excpbind type abap_excpbind_tab, lo_runtime type ref to object. call method lo_runtime->(iv_cls_method) parameter-table lt_parmbind exception-table lt_excpbind.this CALL METHOD Statement has Problem with the Exception Table. We are quite often getting DYN_CALL_METH_EXCP_NOT_FOUND short dumps with Exception "CX_SY_DYN_CALL_EXCP_NOT_FOUND".
The system has problems handling the content of lt_excpbind. if i clear this table the CALL METHOD statement works fine.
AS an example we are trying to call /IDXGC/CL_PD_PROCESS_STEPS-->CREATE_DATA. This method has 2 exceptions
/IDXGC/CX_PROCESS_ERROR
Process Layer Exception
CX_BO_TEMPORARY
Temporary Business Exception
The Content of LT_EXCPBIND is
INDEX
NAME
VALUE
2
/IDXGC/CX_PROCESS_ERROR
1
2
CX_BO_TEMPORARY
2
From my point of view the Problem ist, that they are marked as "class based". I think so because if you looked up the SAP Help for the EXCEPTION-TABLE Statement it is written that is statement only works for none-classbased exception.
I think that restriction is quiet clear. But what i am wondering about is.. that restriction also exists for EHP6. And in EHP6 it work. Does anyone know why? Or how i can change me CALL METHOD Statement that i will work again?
Best Regards
UdoClass-based exceptions must be caught using try/catch statement.
Calling dynamically a method catchable exceptions are:
CX_SY_DYN_CALL_EXCP_NOT_FOUND
CX_SY_DYN_CALL_ILLEGAL_CLASS
CX_SY_DYN_CALL_ILLEGAL_METHOD
CX_SY_DYN_CALL_PARAM_MISSING
CX_SY_DYN_CALL_PARAM_NOT_FOUND
CX_SY_REF_IS_INITIAL
Anyway catching cx_root (as shown by Matthias) will catch everything is catchable. -
Dynamic method call needs reflection class?
Hi,
First of all, this is my first post so go easy on me ;)
I would like to have something like this in Java:
String name = "number1";
int temp = name + getme();
the integer temp should now be the result of the method "number1getme()".
By changing the value of 'name' I could get the value of number2, number3 etc. etc.
Hope you understand and can help.
Yours Sincerely,
GrandiJoosIf you really want to do it this way, you will indeed need to use reflection. Have you considered other options, such as storing values in a Map or creating one getme() method that takes a name argument?Map<String, Integer> temps = new HashMap<String, Integer>();
.. fill the map with temperatures
String name="number1";
int temp = temps.get(name);orString name="number1";
public int getme(String name) {
int result = ...;
if(name.equals("number1")) {
result = <some temp here>;
return result;
} -
Using a dynamic variable in the Import command of a Method call
Hi,
I am trying to make a Method call fully dynamic.
I have found out how to make the Method name dynamic, but I am having trouble figuring out how to make the Importing statement dynamic.
in my code below:
CALL METHOD o_main->(v_call)
IMPORTING
it_ekko = i_ekko.
I would like to know if it's possible to make both "it_ekko" AND "i_ekko" dynamic so I can use this same call for various tables.
Hope that makes sense...thanks for your help.
AndyHi Andrew,
The method call is fully dynamic; not only the parameters can be specified dynamically but also the method name.
This is a help extract:
DATA: line TYPE c LENGTH 80,
text_tab LIKE STANDARD TABLE OF line,
filename TYPE string,
filetype TYPE c LENGTH 10,
fleng TYPE i.
DATA: meth TYPE string,
class TYPE string,
ptab TYPE abap_parmbind_tab,
ptab_line TYPE abap_parmbind,
etab TYPE abap_excpbind_tab,
etab_line TYPE abap_excpbind.
DATA: exc_ref TYPE REF TO cx_sy_dyn_call_error,
exc_text TYPE string.
class = 'CL_GUI_FRONTEND_SERVICES'.
meth = 'GUI_DOWNLOAD'.
filename = 'c:\temp\text.txt'.
filetype = 'ASC'.
ptab_line-name = 'FILENAME'.
ptab_line-kind = cl_abap_objectdescr=>exporting.
GET REFERENCE OF filename INTO ptab_line-value.
INSERT ptab_line INTO TABLE ptab.
ptab_line-name = 'FILETYPE'.
ptab_line-kind = cl_abap_objectdescr=>exporting.
GET REFERENCE OF filetype INTO ptab_line-value.
INSERT ptab_line INTO TABLE ptab.
ptab_line-name = 'DATA_TAB'.
ptab_line-kind = cl_abap_objectdescr=>changing.
GET REFERENCE OF text_tab INTO ptab_line-value.
INSERT ptab_line INTO TABLE ptab.
ptab_line-name = 'FILELENGTH'.
ptab_line-kind = cl_abap_objectdescr=>importing.
GET REFERENCE OF fleng INTO ptab_line-value.
INSERT ptab_line INTO TABLE ptab.
etab_line-name = 'OTHERS'.
etab_line-value = 4.
INSERT etab_line INTO TABLE etab.
TRY.
CALL METHOD (class)=>(meth)
PARAMETER-TABLE
ptab
EXCEPTION-TABLE
etab.
CASE sy-subrc.
WHEN 1.
ENDCASE.
CATCH cx_sy_dyn_call_error INTO exc_ref.
exc_text = exc_ref->get_text( ).
MESSAGE exc_text TYPE 'I'.
ENDTRY.
BR,
Valentin -
Problem in dynamic method execution???????
Hi,
I am facing the problem in selecting the method at run time.
I have a class with methods like myMethod1,myMethod2,myMethod3,myMethod4....
In my program I am receiving a parameter. for e.g. "2"
Then I want to execute myMethod2.
I am doing it this way "myMethod"+"2"+"()". But its not working .
Canany body help me out.
Thanks in AdvanceTo expand on schapel.
myObject.getClass().getMethod("myMethod2", new Class[0]).invoke(myObject, new Object[0]);will invoke the method called "myMethod2" on the Object myObject. The Class[] and Object[] arrays hold the ordered parameter types and values for the method respectively. In this case, myMethod2 is assumed to have no parameters.
Primitive parameters/return values in the reflection API are replaced by their wrapper classes. As an example, if I have a method called getInt on the class MyClass that takes a float and returns an int, then you would invoke it thus:
Integer i = new Integer(12);
Method m = MyClass.class.getMethod("getInt", new Class[]{ Float.TYPE });
Float float = (Float)m.invoke(myClassInstance, new Object[]{ i });
Float f = float.floatValue();When dynamically invoking a static method, you can supply null as the instance upon which to invoke the method -
Question about method calling (Java 1.5.0_05)
Imagine for example the javax.swing.border.Border hierarchy.
I'm writing a BorderEditor for some gui builder, so I need a function that takes a Border instance and returns the Java code. Here is my first try:
1 protected String getJavaInitializationString() {
2 Border border = (Border)getValue();
3 if (border == null)
4 return "null";
5
6 return getCode(border);
7 }
8
9 private String getCode(BevelBorder border) {...}
10 private String getCode(EmptyBorder border) {...}
11 private String getCode(EtchedBorder border) {...}
12 private String getCode(LineBorder border) {...}
13
14 private String getCode(Border border) {
15 throw new IllegalArgumentException("Unknown border class " + border.getClass());
16 }This piece of code fails. Because no matter of what class is border in line 6, this call always ends in String getCode(Border border).
So I replaced line 6 with:
6 return getCode(border.getClass().cast(border));But with the same result. So, I try with the asSubClass() method:
6 return getCode(Border.class.asSubClass(border.getClass()).cast(border));And the same result again! Then i try putting a concrete instance of some border, say BevelBorder:
6 return getCode(BevelBorder.class.cast(border));Guess what! It worked! But this is like:
6 return getCode((BevelBorder)border);And I don't want that! I want dynamic cast and correct method calling.
After all tests, I give up and put the old trusty and nasty if..else if... else chain.
Too bad! I'm doing some thing wrong?
Thank in advance
Quique.-
PS: Sorry about my english! it's not very good! Escribo mejor en espa�ol!Hi, your spanish is quite good!
getCode(...) returns the Java code for the given border.
So getCode(BevelBorder border) returns a Java string that is something like this "new BevelBorder()".
I want Java to resolve the method to call.
For example: A1, A2 and A3, extends A.
public void m(A1 a) {...}
public void m(A2 a) {...}
public void m(A3 a) {...}
public void m(A a) {...}
public void p() {
A a = (A)getValue();
// At this point 'a' could be instance of A1, A2 or A3.
m(a); // I want this method call, to call the right method.
}This did not work. So, i've used instead of m(a):
m(a.getClass().cast(a));Didn't work either. Then:
m(A.class.asSubClass(a.getClass()).cast(a));No luck! But:
m(A1.class.cast(a)); // idem m((A1)a);Woks for A1!
I don't know why m(A1.class.cast(a)) works and m(a.getClass().cast(a)) doesn't!
thanks for replying!
Quique -
Passing a method call to a facelet tag
Hello,
I am trying to create a JSF confirmation box that replaces the Javascript confirm() function. I am using Seam and Rich Faces 3.2.1. The confirm box is a facelet tag that pops up a modal box with 'cancel' and a 'continue' buttons. Everything is working correctly except for one crucial piece; passing the method call for continue button.
Here is the set up for the facelets tag in the main xhtml page:
<at:confirm
id="confirm"
title="Confirm"
message="Do you want to continue"
buttonText="Continue"
backingBean="#{confirmAction}"
method="testMethodTwo"
/>Here is the code for the button inside the facelets tag:
<a4j:commandLink
styleClass="rdSplGr1"
href="#"
action="#{backingBean[method]}">
<s:span>#{buttonText}</s:span>
</a4j:commandLink>The method simply does nothing when the use clicks the button. I am assuming this is due to the lack of "()" however there does not seem to be a way to get those in there. I have tried the following:
1) placing the parens like this - method="testMethodTwo()"
2) placing the parens like this - action="#{backingBean[method]()}"
The first does nothing, the second causes an EL exception.
I know that it has nothing to do with the modal as I have also placed a button like this into the modal:
<a4j:commandLink
styleClass="rdSplGr1"
href="#"
action="#{confirmAction.testMethodOne()}">
<s:span>MethodOne</s:span>
</a4j:commandLink>That button as you can see has what I am trying to create dynamically and it works like a charm.
So how do I pass a method call correctly? Or if that is impossible how do I solve the problem of having a the continue button having a different method assigned to it?
Thanks for any insight into this.
Edited by: Rhythmicdevil on Aug 4, 2008 7:57 AMI agree, reflection should be a last resort. An
interface would not be useful if you don't know what
method you want to invoke at compile time. Interfaces
are useful when you know the method you want to
invoke, but not the class.That's not true. This is a really lame-ass example but it shows the point.
public interface RuntimeMethod
public void method();
class AClass {
public static void main(Sting[] args)
new AClass.handleAtRuntime(
Factory.getRuntimeMethod(Integer.parse(args[0])));
public void handleAtRuntime(RuntimeMethod runtime)
runtime.method();
class Factory
public static getRuntimeMethod(int method)
switch(method)
case 0: return new RuntimeMethod
public void method()
methodA();
case 2: return new RuntimeMethod
public void method()
methodB();
default:
throw new IllegalArgumentException("bad input");
} -
Static verse dynamic dispatch call
I'm just getting started with creating my own lab view classes using the class object but I'm having trouble with some of the basic concepts. Are there any good tutorials or knowledge base articles which talk about how to create and use LabVIEW classes? I'm getting hung on static verses dynamic dispatch calls specifically.
Any help would be appreciated!
Thank you,
CraigI'm still getting a handle on LVOOP myself.
Those two different methods control which VI actually gets called when your app is running.
THe static method is very similar to calling a normal sub-VI in LV except you are passing LVOOP data.
The dynamic comes into play when you have more than one class and one is a child of the other. In that case you can create a VI for the child that has the same name as a VI in the parent, but because it has different data, the data it accepts and return is different. This OTHER VI in the child will under the right condition be called instead of the VI in the parent. I understand this to be concidered over-riding. Which versino will be called? It is dicated by the data you pass to the sub_VI call. If you pass the parent data, the parent versino will be called and vise versa.
So the VI to call is determined at run-time depending on the data.
I hope I got that right!
Ben
Ben Rayner
I am currently active on.. MainStream Preppers
Rayner's Ridge is under construction -
Hi SAP Gurus,
Is it is possible to pass the name of method during run time, actually I have 10 methods with same import, export
I need to make one single report which will get the name of method during run time.
CALL METHOD detail->CONTACT_DATA_OUT "this name should be changed during run time.
EXPORTING
output = req.
Thanks,
KrishnaSorry for ridiculous question, but did you pass your method name or just used that one literally : 'METHOD_NAME' ?
Refer this snippet:
PARAMETERS pa_meth(61) TYPE c.
CLASS lcl_test DEFINITION.
PUBLIC SECTION.
METHODS: start, end.
ENDCLASS.
CLASS lcl_test IMPLEMENTATION.
METHOD start.
WRITE: 'This is the START method called dynamically'.
ENDMETHOD. "start
METHOD end.
WRITE: 'This is the END method called dynamically'.
ENDMETHOD. "end
ENDCLASS.
START-OF-SELECTION.
DATA: r_test TYPE REF TO lcl_test,
r_classdescr TYPE REF TO cl_abap_classdescr.
r_classdescr ?= cl_abap_typedescr=>describe_by_name( 'LCL_TEST' ).
READ TABLE r_classdescr->methods WITH KEY name = pa_meth TRANSPORTING NO FIELDS.
IF sy-subrc <> 0.
WRITE: 'Method', pa_meth, 'doesn''t exist'.
ELSE.
CREATE OBJECT r_test.
CALL METHOD r_test->(pa_meth).
ENDIF.
Regards
Marcin -
Input data during dynamic vi call
Hi guys. Is it possible to input data during a dynamic VI call?
For eg, i have a car.vi When i call this vi dynamically, i want to also input the value turn left or turn right. How do i acheive this in LV?hi there
use a invoke node on the VIs reference and call the "Set control value" method to set values of controls during execution of the dynamic VI. Use "Get control value" to retrieve values from indicators.
another possible solution would be the usage of a so called LV2 style global a.k.a. FGV (functional global variable). this needs more drawing but is much more efficient and powerful.
DO NOT use simple global variables.
Best regards
chris
CL(A)Dly bending G-Force with LabVIEW
famous last words: "oh my god, it is full of stars!" -
Taskflow Method call receiving null parameter.
Hi all,
I am using 11.1.1.6. I have created in my application an extra project which is pure Java objects and exposed a master class as a POJO DC. In my application, I have a taskflow where I have dragged and dropped one method from my POJO DC - 2 of the parameters of this methods are coming from an application scope bean. I have debugged the application, and made sure that the object being returned by the getter of my app scope bean is not null. So basically, when the breakpoint is in the return statement of my getter the oject is not null and it has been correctly initialized. Just after that, the next breakpoint is in the class receiving the parameter in my POJO DC class. In there, the object is NULL.
Does anyone knows wat could be the reason??Hi Frank Nimphius-Oracle,
That is precisely the problem. The object is being passed as to the taskflow as an input parameter (getting it from my application scope bean). If I access the pageFlowScope inside my taskflow I see it and its there, correctely intialized. However, when I call a method call activity that consumes that object as parameter, all what it gets is null.
The method that consumes this object is in a separate project, and its exposed in a POJO DC. I don't know if it has to be with the complexity of the object I am passing or what but I don't understand why its not being passed correctly to the DC Method. -
Closing an anonymous stream in method call
Will an anonymous stream in a method call be closed in the same manner an anonymous stream that is created in an object instantiation will be?
I know this will close the anonymous FileInputStream:
DataInputStream in =
new DataInputStream(new FileInputStream("filename.txt"));
/* ... code ... */
in.close();But will this?
MyPropertiesClass myPropertiesClass = new MyPropertiesClass();
myPropertiesClass.store(new FileOutputStream("file.txt"));MyPropertiesClass extends Properties, and uses its store().
I know the JavaDoc for Properties says:
"After the entries have been written, the output stream is flushed. The output stream remains open after this method returns."
My question is will the FileOutputStream("file.txt") be closed and garbage collected eventually after this method call because I don't have a reference to it? myPropertiesClass sticks around for a long time afterwards, will the FileOutputStream as well?
Thanks for any insight,
KJMy question is will the FileOutputStream("file.txt") be closed and garbage collected eventually after this method call because I don't have a reference to it? > myPropertiesClass sticks around for a long time afterwards, will the FileOutputStream as well?Your only hope would be if FileOutputStream overrode finalize and closed the stream there -- but it doesn't (check the API -- finalize isn't overridden). I doubt if Properties retains a reference to the OutputStream you pass to store -- why would it need to? In any case, the bottom line is that output stream isn't being closed until your process exits.
Why not bite the bullet and rewrite that line of code so that you can explicitly close the stream?
OutputStream out = new FileOutputStream("file.txt");
try {
myPropertiesClass.store(out);
} finally {
out.close();
}It's not one line, but who cares? You could wrap it up in a short utility method:
static void storeProperties(Properties properties, String path) {...}
Maybe you are looking for
-
Too Slow - Domino 6.5.4 with access manager agent 2.2 ?
I don't know how to tune Domino 6.5.4 with access manager agent 2.2? I think AMAgent.properties is not good for SSO. Please help me to tune it. # $Id: AMAgent.properties,v 1.103 2005/09/19 22:08:34 madan Exp $ # Copyright ? 2002 Sun Microsystems, Inc
-
How do I change sync from automatic to manual
Where do I go in itunes to remove the automatic sync process (whenever I connect my iphone) and do a manual sync? I dumped contacts from old Palm system & the contacts in Google are showing duplicates between 4 to 8 times for each contact.
-
Change Icon Size on Desktop?
I've done something (but not sure what!) to change the size of the icons on my desktop (plug in USB drive, harddisk, etc icons) they are all tiny - barely as large as a single letter in the text underneath the icon. I cannot see any setting to adjust
-
I just bought an Apple TV, it works fine with iTunes but I cannot stream from Quicktime or other video software. That means a waste of time converting video files to mp4. I know that it's because I have a rather old iMac (mid 2010 mod. 11,3), still I
-
Adding keyword to multiple selections deselects them - very annoying bug
When I have more than one image selected in order to add keywords to them, as soon as I add one keyword they all get deselected and I have to select them all over again. Why does this happen? Is it a bug? It is REALLY annoying.